为什么UITableView操作仅适用于可见单元格

时间:2015-09-09 12:09:09

标签: ios swift uitableview didselectrowatindexpath tableviewcell

我正在使用UITableView,这是一个朋友列表(我有20个朋友)。在这20个朋友单元格之上,我在另一个部分中有一个叫做“#34;所有朋友”的独特单元格。这让我可以一键选择所有朋友。

当这个"所有朋友"选择了单元格,此代码称为:

Program

一切都适用于可见细胞。选择单元格后,背景颜色会发生变化,但仅适用于可见单元格

任何想法为什么?

1 个答案:

答案 0 :(得分:2)

因为动态显示UITableView并且不存在不可见的单元格。

UITableView基本上将一个即将消失的单元格出列,并将其附加到您滚动的位置。要选择所有单元格,您必须采用不同的方法:

  1. 您必须将全局变量设置为true,让我们说var allSelected = true

  2. 然后致电self.tableView.reloadData()

  3. 通过tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell将反映在cell.selected = true中。

  4. 这将确保也将选择所有未来显示的单元格。