0

画面の幅の 75% である ViewController のメイン UIView に UITableView を埋め込もうとしています。理想的には、この UITableView も Navigation Controller に埋め込まれます。また、「UIStoryboardEmbedSegueTemplate という名前のクラスをインスタンス化できませんでした」というエラーが発生したため、iOS 5 で UIContainerViews を使用できないようです (cf. NSInvalidUnarchiveOperationException with ContainerView )。

これを行うために、ViewController のメイン UIView 内に画面幅の 75% の UIView を作成しました。その UIView 内に、UINavigationBar と UITableView を配置しました。ViewController の- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil関数で UITableViewController をインスタンス化します。インスタンス化したら、ViewController の UITableView を を介して UITableViewController の UITableView に接続しself.tableViewController.tableView = self.tableViewます。

データをプリロードしても、UITableView にセルが表示されないことを除いて、すべて問題なく動作しているようです。

問題の診断に役立つ追加データは何ですか? もちろん、エラー メッセージは表示されません。データ ソースは実際にデータを受信し、データ[self.tableView reloadData]ソースが更新された後に呼び出します。

更新 1

iOS 用 Chrome

最終的には、これは私が望む種類の動作ですが、複数の Web ビューの代わりに、それぞれ独自のナビゲーション コントローラーに埋め込まれた複数のテーブル ビューが必要です。タブをスクロールするときにインタラクションが有効になっていないため、Chrome for iOS は Web ページのスクリーンショット (?) を撮るだけだと思いますが、インタラクションを維持したい場合はどうすればよいでしょうか?

更新 2

特定の行はCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]どこにあるようですstatic NSString *CellIdentifier = @"New Cell"(そして、適切なプロトタイプ UITableViewCell は IB で定義されています)。ただし、この行でコードがクラッシュすることはないようです。代わりに、Thread 1: Breakpoint 1.1指定していないブレークポイントが開始されたようです ( )。さらに、これは私の iOS デバイスでテストする場合にのみ発生します。iOS シミュレーターでテストすると、すべて正常に動作します。

4

2 に答える 2

0

データソース メソッドを実装する必要がありますtableViewController(実装していないようです)。datasourcetableViewControllerのプロパティを に設定selfし、元のビュー コントローラー (つまりself) にメソッドを実装する必要があります。<UITableViewDataSource, UITableViewDelegate>また、 @interface 宣言にプロトコルを追加する必要があります。

標準ルートとサブクラスを取得しUITableViewControllerてデータソース メソッドをオーバーライドする方が簡単ではないでしょうか?

于 2012-10-24T07:21:19.777 に答える
0

こんにちは: iOS 5 対 iOS 6 が自動レイアウトを処理する方法、特に UITableViewCells (「サブビューの自動サイズ変更」) に関する私の特定の問題に対する究極の答え。参照、カスタム UITableViewCells が iOS 6 では機能するが iOS 5 では機能しない理由は何ですか?

この特定の質問は曖昧であり、「回答」は私が考えていた問題とは関係がないため、削除するために投票する必要がありますか?

于 2012-11-26T18:24:45.553 に答える