ios – 在首次加载UICollectionView后如何选择某些项目?

ios – 在首次加载UICollectionView后如何选择某些项目?,第1张

概述我试着写 [self collectionView:myCollectionView didSelectItemAtIndexPath:selectedIndexPath] 并且在ViewDidLoad中选择了UICollectionViewCell = YES,并且它确实实现了方法didSelectItemAtIndexPath,但是未选择该单元格. 我在UICollectionViewCell 我试着写

[self collectionVIEw:myCollectionVIEw dIDSelectItemAtIndexPath:selectedindexPath]

并且在VIEwDIDLoad中选择了UICollectionVIEwCell = YES,并且它确实实现了方法dIDSelectItemAtIndexPath,但是未选择该单元格.

我在UICollectionVIEwCell子类的(voID)setSelected:(BOol)中选择了所选状态.视图加载后,手动选择功能有效.但是我不能让它在视图的第一次加载之后自动选择一些项目.

我试图写代码:

– (UICollectionVIEwCell *)collectionVIEw:(UICollectionVIEw *)collectionVIEw cellForItemAtIndexPath:(NSIndexPath *)indexPath

– (voID)collectionVIEw:(UICollectionVIEw *)collectionVIEw dIDSelectItemAtIndexPath:(NSIndexPath *)indexPath,一切都不行.

我发现它首先运行vIEwDIDLoad和dIDSelectItemAtIndexPath,然后是cellForItemAtIndexPath,似乎我不能在cellPath(我知道)之前获取单元格在cellForItemAtIndexPath之前,因为之前的单元格不存在.那么在首次加载UICollectionVIEw后如何选择一些项目?

对不起我可怜的英语提前致谢.

解决方法 不确定,如果您的问题正确,但这是一个可能的解决方案:

在例如vIEwWillAppear:做

[self.collectionVIEw reloadData];NSIndexPath *selection = [NSIndexPath indexPathForItem:THE_ITEM_TO_SELECT                                              inSection:THE_SECTION];[self.collectionVIEw selectItemAtIndexPath:selection                                   animated:YES                             scrollposition:UICollectionVIEwScrollpositionNone];

记住,以编程方式调用“selectItemAtIndexPath”不调用相关的委托方法;如果需要,您必须在代码中调用它们.

总结

以上是内存溢出为你收集整理的ios – 在首次加载UICollectionView后如何选择某些项目?全部内容,希望文章能够帮你解决ios – 在首次加载UICollectionView后如何选择某些项目?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存