以编程方式选择 UICollectionViewCell [关闭]

Posted

技术标签:

【中文标题】以编程方式选择 UICollectionViewCell [关闭]【英文标题】:Selecting UICollectionViewCell programmatically [closed] 【发布时间】:2020-06-30 14:01:42 【问题描述】:

问题 - 我正在尝试以编程方式选择 UICollectionView 单元格。我查看了 *** 上提到的所有解决方案,但没有一个对我有用。这是我尝试过的

我尝试了什么 -

                for i in 0 ..< self.categories.count 
                    if (MUser.sharedInstance.recommendations.contains(self.categories[i].name)) 
                        let indexPath = IndexPath(item: i, section: 0)
                        self.collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .top)
                        self.collectionView(self.collectionView, didSelectItemAt: indexPath)
                    
                

【问题讨论】:

什么不起作用? 它不卖商品 是什么导致您得出未选择项目的结论? 【参考方案1】:

在 mainThread 上调用它们会起作用

DispatchQueue.main.async 
     let indexPath = IndexPath(item: i, section: 0)
     self.collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .top)
     self.collectionView(self.collectionView, didSelectItemAt: indexPath)

【讨论】:

那也不行【参考方案2】:

直接调用 didSelectItem 函数即可

collectionView(colletionView, didSelectItemAt: indexPath)

【讨论】:

那行不通

以上是关于以编程方式选择 UICollectionViewCell [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式打开选择

以编程方式替换选择器图像

为啥以编程方式选择单元格后 - 单元格不是交互?

以编程方式选择 UICollectionViewCell [关闭]

NSMenu 以编程方式选择项目

以编程方式禁用 CSS 文本选择