私はUITableViewControllerのベースセル(BaseCell - UITableViewCellのサブクラス)とBaseCellのサブクラス(SubCell、Sub2Cell、BaseCellの両方のサブクラス)を持っているので、 )。UITableViewCell - セルを設定するのに最適な場所
サブクラスは、同じ機能の一部を共有しているので、私は
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
で完全にそれらを設定している場合、私は、各細胞型のコードを繰り返すために開始します。実際のカスタムUITableViewCellクラスの中にジェネリックセットアップコードを入れるのは良い場所ですか?現在、私は簡単なセットアップ方法書いている:
- (void)setupCell
{
self.picture.layer.cornerRadius = 5.0f;
self.picture.layer.masksToBounds = YES;
self.picture.layer.borderColor = [[UIColor lightGrayColor] CGColor];
self.picture.layer.borderWidth = 1.0f;
}
を、私は私のセルを作成したら、私はこれを呼び出してきた:
Sub1Cell *cell = [tableView dequeueReusableCellWithIdentifier:statusCellIdentifier];
[cell setupCell];
私はそれが自動的に呼び出されます使用することができる方法はありますか?私は試しました - (void)prepareForReuseしかし、明らかに、いつも呼び出されるのではなく、セルが再利用されているときだけです。
この問題を解決する最善の方法についてアドバイスをいただけますか?
編集:実際に私はtableView:cellForRowAtIndexPath
を呼び出すたびに呼び出されているようだ
。カスタムセルを作成する正しい方法とちょっと混乱しました。
Sub1Cell *cell = [tableview dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[Sub1Cell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
[cell setupCell];
}
スタイルを渡しても何もしないと、カスタムセルに影響しますか?
セルにストーリーボード(ダイナミックプロトタイプ)または別のxibファイルを使用しているのですか、コード内にすべてのコンテンツを追加していますか? – jrturton
UILabelsやUIImageViewsのようなものをレイアウトし、コンテンツやその他の設定をコードに設定するための動的プロトタイプを備えたストーリーボードです。これはiOS 5の最適なアプローチですか? –
はい、完璧です。私は以下に答えました。 – jrturton