0

ストーリーボードで定義されている独自のテーブル ビュー セルがあります。この特別なセルのカスタム UITableViewCell クラスも定義しました。そのため、カスタム プロトタイプ セルのアウトレットを作成しようとすると、アウトレットを作成できないというエラーが表示されます。

これは不可能なので、いくつかの醜い回避策を実行し、IB のタグを使用して、後でコード内で個々のラベルとボタンを参照する必要があります。

これが不可能な理由がよくわかりません。タグと [myCell viewWithTag:] を使用するのが最善の方法でしょうか?

4

3 に答える 3

1

アウトレットは、コントローラーとビュー内の特定のアイテムとの間の 1 対 1 の接続であるためです。プロトタイプ セルの場合は、任意の数の異なる項目 (つまり、テーブル ビューの行) を持つことができるセルの単なる説明です。コントローラーはどのアイテムを参照しているのかをどのように知ることができますか (例: 行 5 または 500)? そのため、エラー メッセージが表示されます。

Lucas は、完全にうまく機能するタグを介して接続を参照する 1 つの方法を提供しました。

于 2013-07-26T16:17:54.437 に答える
0

動的プロトタイプを使用していると思います-ストーリーボードのテーブルビューの属性インスペクターには、「静的セル」または「動的プロトタイプ」を選択するオプションがあります。ストーリーボードの各セルに対して実行時にテーブルビューにセルが1つしかないため、「静的セル」を選択すると、実行しようとしていることができます。このアプローチを使用すると、ストーリーボードで作成したセルのみを使用できます。つまり、コードでセルの数を選択することはできません。

于 2014-08-22T11:22:03.263 に答える
0
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentInIB"];

UIImageView *img = (UIImageView*) [cell.contentView viewWithTag:1];
//img.image = ...

//Access you prototype cell here to alter its style, example:
[[cell layer] setCornerRadius:10];
[cell setClipsToBounds:YES];

return cell;}
于 2012-01-21T00:22:26.310 に答える