gpt4 book ai didi

ios - 如何检测scrollToItem是否会滚动

转载 作者:行者123 更新时间:2023-11-29 05:44:16 28 4
gpt4 key购买 nike

我试图在特定位置(.bottom)滚动单元格,并在滚动动画完成后运行一些代码。问题是 scrollToItem 函数不提供完成处理程序,因此唯一的解决方案是使用委托(delegate)(scrollViewDidEndScrollingAnimation)。不过,如果单元格已经位于该位置.didEndScrollAnim,那么我会遇到一个问题。永远不会被调用。

有没有办法找到单元格是否已经位于UICollectionView.ScrollPosition.bottom

collectionView.scrollToItem(at: indexPath, at: [.bottom,.centeredHorizontally], animated: true)

我希望能够在单元格位于所需位置 [.bottom] 时运行部分代码,并且在需要滚动时还可以为滚动设置动画。

最佳答案

是的,您可以使用 scrollViewDidEndDecelerating 函数,并且当 ScrollView 停止时会调用此函数。

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

let secondItemIndex = IndexPath(item: 1, section: 0)
categoryCollectionView.selectItem(at: secondItemIndex, animated: true, scrollPosition: .centeredHorizontally)

}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

let secondItemIndex = IndexPath(item: 2, section: 0)
categoryCollectionView.selectItem(at: secondItemIndex, animated: true, scrollPosition: .centeredHorizontally)

}

//滚动方式不会影响此功能,因此您可以根据需要指定任何位置

关于ios - 如何检测scrollToItem是否会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56290555/

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