2016-02-29 11 views
0

这种情况非常简单(就像我想的那样很常见)。我在我的应用程序中有一个UITableView,可以说3行(全部在屏幕上可见)。接下来,我点击其中的一个,这个动作改变了所有三个单元格的内容(例如,改变每个单元格中的某个UIView的比例),并且一切正常。iOS(Swift) - 如何更改可重复使用的UITableViewCell中的任何图形(UIView的布局和大小等)

这是好的,直到我只有可见的单元格在屏幕上。我知道cellForRowAtIndexPath只适用于可见的单元格。那么我们如何才能改变所有单元的这种属性(不是数据属性)呢?

回答

1

cellForRowAtIndexPath是您准备显示细胞的地方。你应该在这里做改变。

当用户点击单元格时,如何修改单元格内的视图比例?

你应该在桌面视图上触发reloadData(),这将重新加载tableview并触发cellForRowAtIndexPath调用。如果需要,您也可以在tableview中重新加载特定的索引。

在你的cellForRowAtIndexPath里面,你应该使用一些逻辑或状态变量来控制你如何配置你的单元格。不要转储该函数中的所有代码,在函数中将参数传递给函数,例如configureCell(subviewScale: CGFloat),并让该单元进行自我配置。

不要忘记在您的自定义单元格中重置prepareForReuse()中子视图的比例,以便当单元即将出列并重用时,将重置其属性。

相关问题