13

UITableViewController A (Interface Builder/Storyboard 内) などで設計した動的なカスタム セル プロトタイプを使用すると、cellForRow などで (識別子cellAを介して) セルをデキューするのに非常にうまく機能します... カスタム クラスを使用します(UITableViewCell サブクラス、名前をMyCustomCellにしましょう) ラベルと画像のつまみをリンクすると、すべてうまく機能し、私のUITableViewController Aで簡単に機能します。

ここで、 UITableViewController B (ストーリーボード内)を作成します。これは、カスタム セル (動的セル) とまったく同じデザイン/機能を備えています。そこで、これらのセルのクラスを MyCustomCell に切り替え、新しい識別子cellBを与えます。

UITableViewController Bで、cellForRow のセルをデキューし、新しい識別子cellBを使用します。注:ここでcellAを使用すると、多かれ少なかれ明らかにクラッシュします。

しかし、アプリの実行中にテーブル ビューが表示されると、UITableViewController Aは問題なく動作し、ほぼ同じUITableViewController Bは動作しません (空のセル)。

Storyboard では、カスタム セルはUITableViewController A内で設計可能ですが、UITableViewController Bでは単純な単純なセルであるため、少しずれているように見えます。MyCustomCellに関連付けられたクラスにもかかわらず。

これらのセルを他のコントローラーにコピー&ペーストすることを回避するにはどうすればよいでしょうか (そのため、デザインを変更するときにコピー間を頻繁に行き来する必要があります)。

4

3 に答える 3

2

あなたがしていることは正しいです。なぜ機能しないのかわかりません。テーブルビューのリロードに問題がある可能性があります。データソースとデータソース メソッドを確認してください。

- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger) section

むしろあなたができることは:

ビューコントローラー

をドラッグします。

テーブルビュー

それを動的にして、以前に行ったことを実行します。自分でやったときはうまくいきました。

于 2012-10-05T09:02:04.273 に答える
1

同様の問題が発生しました。内部にuitextfieldを含むカスタムセルを作成しました。最初のテーブルビューではうまく機能していましたが、2番目のテーブルビューでは機能していませんでした。テキストフィールドのデリゲートがカスタムセルに接続されていないことがわかりました。テキストフィールドデリゲートアウトレットからテキストフィールドに接続することで、ストーリーボードで2つを接続しました。

于 2013-02-06T11:15:34.817 に答える
1

セルがカスタム クラスからのものであると言っても、同じように「設計されている」とは限りません。ここで実際に達成しようとしていること (および私が探しているもの) は、「含まれる」セルの王様ですが、これは iOS 6 の ContainerViewController でのみ実行できると思います。もう 1 つのオプションは、その 1 つのセルに XIB を使用することです。これも同様に機能するはずですが、ストーリーボードに概要を表示する利点が失われます。

于 2013-01-10T09:48:44.507 に答える