我想检测用户何时滚动UIScrollView。 当发生这种情况时会调用scrollViewDidScroll,但它会在另一个时间调用 - 当用户滚动视图超出范围,然后释放时,视图会跳回到它的位置 - 即使用户根本没有触摸屏幕也会调用该方法(视图自动滚动)。
如何检测滚动和用户一起触摸?
答案 0 :(得分:10)
UIScrollView有一个属性dragging
,用于指示滚动是否由用户完成。因此,要查看用户是否滚动滚动视图或滚动是否由其他内容(如动画)引起,您可以执行以下操作:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.dragging) {
// scrolling is caused by user
}
}
答案 1 :(得分:0)
对于 Swift 5
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.isDragging {
print("Scroll View is scrolled by the user!")
}
}
还要确保在videoDidLoad()