我有两个表视图控制器," root"和"细节"。在我的根视图中,我有这个单元格,表示" Status"。我需要能够改变它。当我点击它时,我会看到详细视图,其中显示了我可以选择的状态(静态单元格)。单击状态时,会显示复选标记。但是,当先前选择状态时,也需要显示此复选标记。因此,只要我从根视图中进行了搜索,就应该可以看到复选标记。
单击一个单元格后,我就可以在状态旁边显示一个复选标记。但是,当我希望在我搜索时显示复选标记时,它不会显示。这是使用
的代码- (void) setCheckmarkOnIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self setCheckmarkOnIndexPath:indexPath];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// indexPathForRow set to the third cell to demo
[self setCheckmarkOnIndexPath:[NSIndexPath indexPathForRow:2 inSection:0]];
}
答案 0 :(得分:0)
您需要将用户选择存储在某处,并将其传递到控制器中(或根据其保存位置以及拥有该信息的对象在控制器中访问它)。
目前,您没有保存用户选择,因此您无法更新单元格。另请注意,您应该更新viewDidAppear:
中的选定单元格,而不是viewDidLoad
,并且应该使用tableView:willDisplayCell:forRowAtIndexPath:
来正确处理正在滚动的表格视图(以及要替换的单元格) / reused)。