我正在制作应用程序,其中一个国家的列表将被显示。当应用程序第一次运行时,用户选择no。国家/地区。我把这个列表存储在nsuser defaults
里。当应用程序再次运行时,我想在TableView
中勾选这些国家。
另一个问题是,当我在TableView
中滚动并再次转到上一个位置时,复选标记没有显示。为什么会发生这种情况?
发布于 2010-10-14 14:53:29
在-tableView:cellForRowAtIndexPath:
中,你应该根据你的内部模型(在你的例子中来自NSUserDefaults
)来设置是否应该显示复选标记。在tableView:didSelectRowAtIndexPath:
中,不要简单地使复选标记在单元格中可见,还要将其存储在内部模型中。这样,当单元格再次显示时,它将正确显示。
发布于 2010-10-14 14:45:58
这是因为表单元格被重用了,所以当你向上滚动时,它们会被下面的数据清理和重用,当你再次向上滚动时,所有的事情都会再次发生。
关于第二次检查的问题。只需将行的索引存储在NSUserDefault
中,并将条件放在cellForRowAtIndexPath
中,即当索引匹配时,保持选中状态。
希望这能帮上忙..
hAPPY cODING...
https://stackoverflow.com/questions/3930446
复制相似问题