UITableViewCell
UILabel
テキスト、タイトルなどのカスタム セルのコンテンツUIButton
は、単一のテーブル ビューでカスタム セルの数を使用してテーブル ビューをスクロールした後、デフォルト値 (ラベル、ボタン) にリセットされます。これらは、セルごとに異なる識別子と異なるカスタムセル名を使用して、単一のテーブルビューでカスタムセルの数を生成するために使用したコードです。
static NSString *CellIdentifier = @"cell";
UITableViewCell *cell = (customCell1 *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) cell = [[customCell1 alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
{
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"customCell1" owner:self options:nil];
for (id currentObject in topLevelObjects)
{
if ([currentObject isKindOfClass:[UITableViewCell class]])
{
cell = (customCell1 *)currentObject;
break;
}
}
}
static NSString *CellIdentifier2 = @"cell2";
UITableViewCell *cell2 = (customCell2 *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
if (cell2 == nil) cell2 = [[customCell2 alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2];
{
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"customCell2" owner:self options:nil];
for (id currentObject in topLevelObjects)
{
if ([currentObject isKindOfClass:[UITableViewCell class]])
{
cell2 = (customCell2 *)currentObject;
break;
}
}
}
cell.label = @"Test";
[cell2.button setTitle:@"Test Button" forState:UIControlStateNormal];
return cell;
return cell2;