我有一个带有表单字段的 tableview
,并且有一行使用 segue 调用 UICollectionView
,一切正常,除了我无法保留所选内容返回 tableview
后的单元格(选中单元格时显示的视觉效果)。
我的意思是,我选择了我的 UICollectionView
单元格,之后我返回到表单,但如果我需要再次回到我的 UICollectionView
单元格,取消选择或选择在提交数据之前添加更多单元格,一旦 UICollectionView
出现,我之前的选择就在那里(我打印数组,我看到了值)但是我看不到我对选定单元格所做的效果。
如果我要返回再次选择或取消选择单元格,我如何才能保持所选单元格的效果?
最佳答案
需要意识到的一点是,这不会自行发生。当您继续返回 TableView 和表单字段时,UICollectionView 完全被销毁。下次您显示 Collection View 时,它是一个新的和不同的 Collection View 。
因此,如果您想知道 Collection View 中的选择是什么,您将不得不自己维护它,故意将其存储在您知道集合的某个地方 View 正在被销毁。
这样,下次您显示您的 Collection View 时,即使那将是一个全新的和不同的 Collection View ,您也可以在创建和显示它时将有关选择内容的知识传递给该 Collection View 。用户会有“返回” Collection View 的错觉,处于相同的状态,但实际上您已经保存并恢复了它的状态。
这只是在 Collection View 的项目显示中反射(reflect)选定状态的问题。为此,您需要配置您的模型,以便在调用 cellForItemAtIndexPath:
时,如果该项目应该被选中,则每个单元格看起来都被选中。
关于ios - 显示选定单元格的 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33490955/