設定アプリと同様に、固定された数のセクションを表示することを目的としたグループ化されたスタイルの UITableView があり、各セクションには固定された一連のセルがあります。一部のセルはカスタムで、それらの間で異なります。一部にはテキストフィールドがあり、別のセルにはスイッチがあり、別のセルにはボタンがあります。私もUITableViewCellStyleDefault
細胞を持っています。
カスタム セルはファイルから読み込まれ、テーブル ビュー全体で各セルnib
のプロパティを定義しました。strong
私のcellForRowAtIndexPath:
方法は次のようになります。
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil) {
if (indexPath.section == 0) {
if (indexPath.row == 2) {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"TypeACell" owner:nil options:nil];
for (UIView *view in views) {
if ([view isKindOfClass:[UITableViewCell class]])
{
cell = (TypeACell *)view;
}
}
// set property
self.typeARow = cell;
}
else {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"TypeBCell" owner:nil options:nil];
for (UIView *view in views) {
if ([view isKindOfClass:[UITableViewCell class]])
{
cell = (TypeBCell *)view;
}
}
// set properties
if (indexPath.row == 0) {
self.typeBRow0 = cell;
}
else {
self.typeBRow1 = cell;
}
}
}
else {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
// set property
self.defaultCell = cell;
}
}
return cell;
}
nib
カスタム セルについては、ファイル内で再利用識別子を "cell" に設定しました。設定アプリのように、たとえばフォームやメニューを表すテーブルのセルのセットを事前に知っている場合、これは正しい方法ですか? 再利用識別子はすべてのセルで同じですか、それとも異なるセルごとに一意の識別子を持つ必要がありますか?
ありがとう!