gpt4 book ai didi

ios - swift - 在 collectionview 单元类和 collectionview Controller 之间调用一个函数

转载 作者:行者123 更新时间:2023-11-28 05:56:26 27 4
gpt4 key购买 nike

您好,我已经为这个问题苦苦挣扎了一段时间,一直想不出来。

我想做的是,在 collectionview 单元格内按下一个按钮,然后执行到下一个单元格的转换。

这是我想在 collectionview Controller 类中调用的函数:

func done(){
let scrollIndex: NSIndexPath = NSIndexPath(item: 1, section: 0)// NSIndexPath(forItem: 0, inSection: 0)
CollectionViewet.scrollToItem(at: scrollIndex as IndexPath, at: .centeredHorizontally, animated: true)
}

发生的事情是,当我从 collectionview Controller 调用一个函数时,它会给我这个

Unexpectedly found nil while unwrapping an Optional value

我做错了什么?

最佳答案

UICollectionViewController 默认有一个名为 collectionView 的 subview ,您应该使用它来滚动到一个项目

因此,如果您正确地覆盖数据源委托(delegate)方法,您应该能够按如下方式滚动

func done() {

let numberOfRows = collectionView?.numberOfItems(inSection: 0) ?? 0

guard numberOfRows > 1 else { return }

let indexPath = IndexPath(row: 1, section: 0)

collectionView?.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}

我添加了 guard 行以防止应用程序因某种原因在数据为空的情况下崩溃。

关于ios - swift - 在 collectionview 单元类和 collectionview Controller 之间调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51352777/

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