我的应用中的模态视图控制器中有UICollectionView
。当提出模态视图时,根据我从主视图传递到模态视图中的某些数据,将其中一个集合的单元格设置为选中。
我需要以编程方式将所选集合单元格滚动到视图中,一旦出现带有集合的模态视图...但是在填充集合视图时使用scrollToItem(at:at:animated:)
(在cellForItemAt
中)并不会#39 ;似乎工作。
因此,虽然我可以轻松地使用indexPath
中可用的cellForItemAt
在填充集合时滚动到所选单元格,因为这是不可能的,我可以' t弄清楚如何在完全填充和显示集合后滚动到当前选定的集合单元格。
我甚至无法使用笨重的方法,例如循环遍历所有收集单元格并检查哪些是手动选择的,因为它似乎无法循环通过当前不可见的单元格
帮助?
答案 0 :(得分:0)
在Top上添加变量。
private var didLayoutFlag: Bool = false
只需在viewDidLayoutSubviews方法中传递索引号(indexNO
)即可。我正在使用水平滚动。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if self.colllecitonView != nil {
if !self.didLayoutFlag {
self.colllecitonView.scrollToItem(at:IndexPath(item: indexNO, section:0), at:.right, animated: false)
self.didLayoutFlag = true
}
}
}