UITableViewCell中的UITableView无法更新

时间:2015-07-07 15:36:49

标签: ios objective-c uitableview

我尝试创建一个显示项目列表的自定义单元格。为了实现这一点,我尝试在其中创建一个自定义单元格,其中包含UITableView,并禁用滚动。

我遇到的问题是,当我尝试对内部UITableView数据中的单元格应用更改时,只是没有更新并且单元格保持不变。我试过调用[tableView reloadData][cell setNeedsDispaly][cell setNeedsLayout]无济于事。

似乎在初始化单元格时应用的数据在任何更改它的尝试中都会持续存在。但是,当我在cellForRowAtIndexPath:中创建断点时,数据会更新但不会被渲染。(例如text UILabel属性具有新值,但文本在屏幕上显示为旧。)

3 个答案:

答案 0 :(得分:0)

您需要使单元格为零,然后重新加载表格视图。出于某种原因,iOS会缓存表格视图数据,并且内容无法正确更新。

答案 1 :(得分:0)

您可以尝试覆盖UITableViewCell的prepareForReuse():在该方法中,您可以将所有单元格的出口/属性设置为nil。您可以对主单元格表视图中的单元格执行此操作。我假设这些也是自定义单元格,并且你有一个自定义的UITableViewCell子类。

答案 2 :(得分:0)

在接受的答案方法中提及[I have two views on one cell, when I click on a cell it will be hidden and one edit form will be expanded on that. How to resolve that? ..检查......

[tableView reloadRowsAtIndexPaths:ll withRowAnimation:UITableViewRowAnimationAutomatic]

中的

didSelectRowAtIndexPath