ios - 在 UIScrollView 中检测突然的滚动停止

标签 ios uiscrollview uiscrollviewdelegate

我想知道如何使用 UIScrollViewDelegate 检测 ScrollView 何时突然停止移动,因为用户在快速平移启动动量后触摸并按住屏幕。

scrollViewDidEndDecelerating: 方法仅在用户抬起手指时针对上述情况触发。但是,如果用户在 ScrollView 动量期间点击并按住,则此方法不会触发(直到他们抬起手指)。当 ScrollView 在用户按下时停止时,无论如何要拦截它吗?

最佳答案

您是否尝试过使用 scrollViewWillBeginDragging?或者(因为文档表明 scrollViewWillBeginDragging 可能不会立即触发)您可以尝试使用 scrollViewDidScroll 并检查用户当前是否正在触摸 ScrollView ...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if(scrollView.isTracking){
        //do something
    }
}

关于ios - 在 UIScrollView 中检测突然的滚动停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11282641/

相关文章:

ios - UIScrollView 动画在 iOS 上不够流畅

ios - 如何获取UIScrollView滚动后的CGRect?

ios - 有没有办法使 SKSpriteNode 旋转与另一个 SKSpriteNode 物理体平行?

ios - swift 3 : Create UIImage from UIBezierPath

ios - 在 UICollectionViewCell 中处理 ScrollView 大小

iphone - UIScrollView。关于实现 "infinite"滚动/缩放有什么想法吗?

ios5 - IOS。如何将 UIScrollview 滚动限制在有限的范围内?

ios - 未调用 UITableView ScrollView 委托(delegate)

ios - 如何使用 `AVCapturesession` 中的 `didOutputSampleBuffer` 播放音频缓冲区

ios - 如何在 UITextView 上实现长按手势