嗨,我正在实现一个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吗?
答案 0 :(得分:3)
初始化后,您无法更改UITableViewCell的样式。
而是使用不同的重用标识符。
将if,else置于if(cell == nil)行之上。从那些你需要的不同类型的细胞出发。
如果单元格为零,则在另一个单元格中初始化您需要的单元格。
答案 1 :(得分:1)
我建议你看看这个有用的细胞创建模式:http://www.digitalhobbit.com/2009/12/19/a-useful-uitableview-cell-creation-pattern/
这真的很有帮助,并且会完全按照你的要求行事。