我正在尝试摆脱缓存的UITableView单元格。我有两个部分。第二部分的第一个单元具有与第一部分的第一个单元相同的“外观”。外观我指的是细胞高度(多线细胞)。
我尝试使用不同的标识符,但这没有用。这是代码:
NSString *identifier;
if (thisViewMode) {
identifier = @"thisViewMode";
} else if ((indexPath.section == 1) && thatViewMode) {
identifier = @"thatViewMode";
} else {
identifier = @"CellIdentifier";
}
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [self CreateMultilinesCell:identifier];
}
thatViewMode
只被调用一次,这是不正确的,因为我的第二部分中有更多的单元格。如果我更改第一部分中第一个单元格的内容,第二部分中第一个单元格的高度也会发生变化。通常情况下,每个单元格都应该有自己的单元格高度,但这不是这种情况。
是否存在无法在同一表视图中使用不同单元标识符的问题?
答案 0 :(得分:0)
我忘了也适应heightForRowAtIndexPath
,以便区分各个部分。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 1) {
// do something
} else {
// do something different
}
return ...
}