多个tableview单元格内的Collectionview,如何处理选择?
Posted
技术标签:
【中文标题】多个tableview单元格内的Collectionview,如何处理选择?【英文标题】:Collectionview inside multiple tableview cells, how to handle selection? 【发布时间】:2019-03-29 14:59:11 【问题描述】:我有一个表格视图,包含 10 个单元格。每个表格视图单元格内部都有一个集合视图,
我通过覆盖isSelected
这段代码来处理每个collectionView的选择样式变化
override var isSelected: Bool
didSet
if(isSelected)
backgroundColor = .black
else
backgroundColor = .red
此时它可以工作了。但是当我滚动表格视图时,我看到选择样式(.red)应用于其他单元格中的不同集合视图(当然是因为可重复使用的单元格)
我想将选择粘到其中包含选择的集合视图上,并避免将选择应用于其他集合视图
首先你会看到collectionview里面有一个选定的项目
当我滚动时,我发现另一个出队的collectionview,具有相同的选择!,选择只在索引路径第1行而不是第5行
【问题讨论】:
嘿,为什么要在 tableview 中设置 collectionview。你可以自己试试collectionview。在集合视图中使用部分。并设置启用多项选择。更好地管理您的问题。 @Kathiresan.M 我在 tableview 中有一个水平集合,很像 appstore 的主页,其中你有一部分游戏,例如,里面有一个包含水平游戏列表的集合视图,当我滚动时会出现问题数据混乱的tableview AppStore 是由 collectionview 自行开发的 使用collectionview或tableview作为主要的垂直滚动区域不是问题,无论哪种方式,问题在于重用tableview的单元格或colletionview的内部的collectionview 我的建议是如果你使用collectionview对你更有帮助 【参考方案1】:我所做的是在模型数据中添加了一个名为 selectedIndex 的变量。
检查 cellForRowAt 中的条件并在 didSelect 方法中修改 selectedIndex 变量
【讨论】:
以上是关于多个tableview单元格内的Collectionview,如何处理选择?的主要内容,如果未能解决你的问题,请参考以下文章
完成在单元格内编辑 textview 后向 tableview 添加另一个单元格
在单元格内编辑textview时,将另一个单元格添加到tableview
TableView单元格内的TableView,自动调整单元格高度