gpt4 book ai didi

iOS - scrollViewDidEndDecelerating 为 scrollView 和 collectionView 运行

转载 作者:搜寻专家 更新时间:2023-11-01 07:11:53 26 4
gpt4 key购买 nike

我有一个包含 collectionViewscrollView 的 VC。我把这段代码通过在 scrollView 中滚动来更改 pageController 的当前页面:

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

let pageNumber = round(scrollView.contentOffset.x / scrollView.frame.size.width)
self.pageController.currentPage = Int(pageNumber)
}

它适用于 scrollView 但问题是,当我什至在 collectionView 中滚动时,它会声明并导致 pageController 发生不必要的更改!

我该怎么办?

最佳答案

除了上面发布的答案之外,您还可以使用 View 的标签属性。

只需在 xib 中或通过代码为您的 ScrollView 分配一个标签(Int)。

yourScrollView.tag = 10

然后在 ScrollView 委托(delegate)方法中检查此标记:

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

if scrollView.tag == 10 {
///Your scrollview was scrolled
} else {
// Collection view was scrolled
}

}

关于iOS - scrollViewDidEndDecelerating 为 scrollView 和 collectionView 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44455450/

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