IOS 集合视图单元格第一次单击并在视图出现时删除选择

IOS Collection view cell first time click and removing selection when view appears

我正在使用集合视图,在加载集合视图后,如果您第一次单击任何单元格,则单击无效。如果您单击另一个单元格,则单击有效。加载集合时会发生这种情况新鲜.

我正在使用导航控制器并使用以下代码加载另一个视图:

let storyboard = UIStoryboard(name: "StoryBoard", bundle: nil)
let controller = storyboard.instantiateViewControllerWithIdentifier("ControllerID") as! UIViewController
self.navigationController?.pushViewController(controller, animated: true)

如果我们选择了一个单元格并导航到下一个视图,当返回到集合视图时,之前选择的元素不会被取消选择。因此单击对该单元格无效。如果您单击另一个单元格然后返回并单击该单元格,它就会起作用。

从数据源加载数据后,您应该重新加载 UICollectionView 的数据,对于第一个问题,您无法在第一次单击时 select 任何单元格。

对于你的第二个问题,当你从下一个视图回来时,项目被 selected 所以你不能 select 再次那个项目,解决方案是你可以 deselect 项目,同时从第一个屏幕移动到下一个视图。

像这样,

[collectionView deselectItemAtIndexPath:indexPath animated:YES];

如果需要,我会很乐意为您提供更多帮助。

希望对您有所帮助。

我的代码有问题。我使用 collectionView:didDeselectItemAtIndexPath 而不是 collectionView:didSelectItemAtIndexPath

谢谢大家的回复。