Swift - 以编程方式从集合视图中选择第一个项目

Posted

技术标签:

【中文标题】Swift - 以编程方式从集合视图中选择第一个项目【英文标题】:Swift - Select first item from the collection view programmatically 【发布时间】:2019-12-04 12:11:36 【问题描述】:

我在为集合视图调用 selectItem 方法时遇到问题。 Firebase 存储中的图像被加载到集合视图中。加载第一张图片后,我想以编程方式调用,点击第一张图片。 我试过了

  self.collectionView.selectItem(at: IndexPath(item: 1, section: 0), animated: false, scrollPosition: UICollectionView.ScrollPosition.centeredHorizontally)

但它不起作用。 当我手动单击集合视图元素时,didSelectItemAt 方法可以正常工作。

我该如何解决我的问题?

【问题讨论】:

self.collectionView(self.collectionView, didSelectItemAt: .init(item: 1, section: 0)) 第一项是(0,0) 【参考方案1】:

您需要手动选择它

let ind =  IndexPath(item: 1, section: 0) 
self.collectionView.selectItem(at:ind, animated: false, scrollPosition: UICollectionView.ScrollPosition.centeredHorizontally) 
self.collectionView(self.collectionView, didSelectItemAt:ind)

didSelectItemAt 仅在用户点击单元格时被调用

【讨论】:

以上是关于Swift - 以编程方式从集合视图中选择第一个项目的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT:如何以编程方式设置集合视图的帧大小,使其等于其父视图?

以编程方式打开视图控制器并且看不到导航栏。斯威夫特 3

在 rootView Swift 3.0 之后以编程方式在 ViewControllers 添加栏按钮项

使用 Swift 以编程方式插入按钮并加载第二个视图

如何在 Swift 中以编程方式从 UIView 中删除安全区域?

以编程方式创建形状视图并在集合视图单元格上使用