【发布时间】:2017-12-13 13:54:18
【问题描述】:
我的项目应用程序中有 tableViews 和 collectionViews。在表格和集合中,我希望在第一次点击时选择行/单元格,并在第二次点击时取消选择。
通过tableView,我找到了一个相当简单明了的解决方案here,效果很好。
另一方面,CollectionView 被证明是完全不同类型的野兽。与 tableView 不同的是,没有willSelectItemAt 委托方法,因此无法在第二次点击注册之前检查项目是否处于选中状态。实现 shouldDeselectItemAt 和 didDeselectItemAt 不会产生任何结果 - 这些方法永远不会在点击时已被选中的单元格上调用。
唯一可行的solution 建议为每个collectionView 单元格创建一个UIButton,但它真的应该那么复杂吗?
【问题讨论】: