- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个包含 collectionView
和 scrollView
的 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/
我似乎无法调用scrollViewDidEndDecelerating。我有一个 ScrollView ,里面有 2 个 View 。现在,当 ScrollView 完成滚动到第二个 View 时,我
我正在实现 UIScrollViewDelegate 并用它做很多事情。然而,我刚刚发现了一个恼人的问题。 我希望 scrollViewDidEndDecelerating: 总是在 scrollVi
我有一个 UIScrollView,它是在 UIView 内以编程方式创建的。我需要做什么来确保我可以使用委托(delegate)方法 scrollViewDidEndDecelerating? 这是
您知道如何向标准委托(delegate)方法调用添加观察者(或通知)吗? (我知道这有点奇怪/不是观察者的目的) 我最终试图在 uiscrollview 类别方法中捕获 ScrollView 的页面更
我正在开发的 iPad 应用程序是一本书。要跳转到特定页面,用户可以按下覆盖当前 View 顶部的按钮,显示书中每一页的缩略图图像。 当用户按顺序浏览这本书并显示这个缩略图菜单时,如果用户显示菜单,则
我正在使用 "scrollViewDidEndDecelerating" 来加载更多数据,当用户在列表数据滚动器和同一页面(在此页面上)上最后时,我正在使用 UICollectionView 并且当用
cell.callingApi(featurePost: featurePost) cell.mainImageView.imageChangeByMotion() func scrollVi
我正在使用分页在我的应用程序中加载记录。为此,我正在使用以下代码。当快速向下滚动时,方法 (self.scrollViewMethod(scrollView)) 被调用多次。请告诉我如何防止这种情况发
设置:我有一个水平 ScrollView 和一个 UISwipeGestureRecognizer,它在我向下滑动时会触发切换到另一个 View 。 问题:如果我水平滚动并开始向下滑动(禁用垂直滚动)
我有一个包含 collectionView 和 scrollView 的 VC。我把这段代码通过在 scrollView 中滚动来更改 pageController 的当前页面: func scrol
我用这种方法组织分页: - scrollViewDidEndDecelerating 当我滚动 UICollectionView 时,我更改了屏幕上的一些内容。但是我的屏幕上几乎没有 UICollec
我是一名优秀的程序员,十分优秀!