如何为同一个表中的不同单元格集设置不同的UITableViewCellStyle?

时间:2011-11-01 09:30:17

标签: objective-c ios uitableview

嗨,我正在实现一个UITableView。我打算根据特定条件为不同的单元格集使用不同的UITableViewCellStyle(参见下面的代码片段)

if (cell == nil)
{
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:PlaceholderCellIdentifier]autorelease];
    cell.textLabel.font = [UIFont boldSystemFontOfSize:14];
    cell.textLabel.lineBreakMode = UILineBreakModeCharacterWrap;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.textLabel.numberOfLines = 0;
}

if ([genericObj.type isEqualToString:@"question"]) 
{
    //I want to user UITableViewCellStyleValue1
}
else if([genericObj.type isEqualToString:@"topic"])
{
    //I want to user UITableViewCellStyleValue2
}
else //user
{
    //I want to user UITableViewCellStyleSubtitle
}

有人可以告诉我如何相应地更改uitableviewcellstyle吗?

2 个答案:

答案 0 :(得分:3)

初始化后,您无法更改UITableViewCell的样式。

而是使用不同的重用标识符。

将if,else置于if(cell == nil)行之上。从那些你需要的不同类型的细胞出发。

如果单元格为零,则在另一个单元格中初始化您需要的单元格。

答案 1 :(得分:1)

我建议你看看这个有用的细胞创建模式:http://www.digitalhobbit.com/2009/12/19/a-useful-uitableview-cell-creation-pattern/

这真的很有帮助,并且会完全按照你的要求行事。