1

私は助けを求めてしばらく探していましたが、運がありませんでした:(

TableViewCells にサブタイトルを設定したい。サブタイトルは、すべてのセルで同じであってはなりません。私はいくつかのコードを書いています:

- (void)viewDidLoad
{
[super viewDidLoad];
 tableData = [[NSArray alloc] initWithObjects:@"cell 1", @"cell 2", nil];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{
return [tableData count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath        *)indexPath 
{
UITableViewCell *cell = nil;
cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];
if (cell == nil)
{ 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle      reuseIdentifier:@"MyCell"];
}
cell.textLabel.text = [tableData objectAtIndex:indexPath.row]; 

cell.detailTextLabel.text = @"Subtitle 1", @"Subtitle 2", nil;

return cell;
}

問題はcell.detailTextLabel.text = @"Subtitle 1", @"Subtitle 2", nil;

各セルに異なるサブタイトルを設定する方法を知っている人はいますか?

幸運を!:)

4

1 に答える 1

6

セルのタイトルを設定するのとまったく同じ方法です。字幕を保持する別の配列を持ち、次のように取得できます。

- (void)viewDidLoad
{
    [super viewDidLoad];
    tableData = [[NSArray alloc] initWithObjects:@"cell 1", @"cell 2", nil];
    // Assuming that you have declared another property named 'tableSubtitles'
    tableSubtitles = [[NSArray alloc] initWithObjects:@"sub1", @"sub2", nil];
}

次に、あなたのtableView:cellForRowAtIndexPath:方法で:

cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [tableSubtitles objectAtIndex:indexPath.row];
于 2012-05-17T10:00:30.380 に答える