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
谢谢大家的回复。
我正在使用集合视图,在加载集合视图后,如果您第一次单击任何单元格,则单击无效。如果您单击另一个单元格,则单击有效。加载集合时会发生这种情况新鲜.
我正在使用导航控制器并使用以下代码加载另一个视图:
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
谢谢大家的回复。