gpt4 book ai didi

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

转载 作者:技术小花猫 更新时间:2023-10-29 10:21:39 27 4
gpt4 key购买 nike

我试着写

[self collectionView:myCollectionView didSelectItemAtIndexPath:selectedIndexPath]

UICollectionViewCell 的 selected=YES 在 vi​​ewDidLoad 中,它确实实现了方法 didSelectItemAtIndexPath,但是单元格没有被选中。

我在 UICollectionViewCell 子类的 (void)setSelected:(BOOL)selected 中写了选中状态。加载 View 后,手动选择功能起作用。但是我不能让它在 View 第一次加载后自动选择一些项目。

我试着写代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath,一切都不正常。

我发现它先运行viewDidLoaddidSelectItemAtIndexPath,然后运行cellForItemAtIndexPath,好像我无法获取indexPath (我知道)在 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”不会调用相关的委托(delegate)方法;如果需要,您必须在代码中调用它们。

关于ios - 首次加载后如何在 UICollectionView 中选择某些项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15228472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com