我有一个选项卡栏,其中一个选项卡有一个 UINavigationController,它被分配了一个根视图控制器,该控制器由一个 UITableView 组成,可以深入了解更多选择。在我的根视图控制器中选择一个项目后,我得到了另一个 uitableview,我使用以下代码在我的cellForRowAtIndexPath中使用以下代码只为该部分或组 分配一个复选标记。
if([self.checkedIndexPath isEqual:indexPath])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
以及didSelectRowAtIndexPath中的以下内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Uncheck the previous checked row
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
}
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
self.checkedIndexPath = indexPath;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
我的问题是,当我使用导航菜单上的后退按钮并返回相同的 UItableview 时,复选标记消失了。但是,当我在该视图中上下滚动时,情况并非如此。当我使用导航控制器来回移动时,如何将这些复选标记保留在那里。