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