我有一个UITableviewCell。当用户单击单元格时,我保存索引,然后调用cellforrowAtIndexpath方法来获取单元格,然后在该单元格上调用SetHighlighted:TRUE。
这工作得很好,但问题是,当我向上和向下滚动表视图,选定的单元格时,重新出现,没有突出显示。如何使突出显示的蓝色保持不变,以便用户在上下滚动表格后仍然可以直观地看到他们的选择?
谢谢
保存所选单元格的索引
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.selectedIndexPath = indexPath;
}
与tableVIew:cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// configure cell
if ([indexPath isEqual:self.selectedIndexPath]) {
[cell setHighlighted:YES];
}
else {
[cell setHighlighted:NO];
}
return cell;
}
但是,请记住apple不鼓励使用单元格高亮状态来指示所选单元格。你应该使用cell.accessoryType = UITableViewCellAccessoryCheckmark;