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 回答