ios - 如何检测 UIScrollView 何时完成滚动

标签 ios iphone uiscrollview

UIScrollViewDelegate 有两个委托(delegate)方法 scrollViewDidScroll:scrollViewDidEndScrollingAnimation: 但这些都不会告诉您滚动何时完成。 scrollViewDidScroll 仅通知您 ScrollView 确实滚动了,而不是它已完成滚动。

另一种方法 scrollViewDidEndScrollingAnimation 似乎只在您以编程方式移动 ScrollView 时触发,而不是在用户滚动时触发。

有人知道检测 ScrollView 何时完成滚动的方案吗?

最佳答案

320 implementations好多了 - 这是一个补丁,可以使滚动的开始/结束保持一致。

-(void)scrollViewDidScroll:(UIScrollView *)sender 
{   
    [NSObject cancelPreviousPerformRequestsWithTarget:self];
    //ensure that the end of scroll is fired.
    [self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:sender afterDelay:0.3]; 

...
}

-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
    [NSObject cancelPreviousPerformRequestsWithTarget:self];
...
}

关于ios - 如何检测 UIScrollView 何时完成滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993280/

相关文章:

objective-c - Objective-C-如何将字节数组转换为NSString?

ios - 如何将 UIScrollView 的背景图片设置为可伸缩图片?

ios - Apple Page Control 示例代码导致黑屏

swift - 如何初始化scrollView分页的起始索引?

ios - 保存到服务器后如何在 iOS 中正确获取正确的视频方向

iphone - 在没有 Apple Developer 帐户的情况下在 iPhone 上测试 react-native 应用程序

ios - 无网络时SLComposeViewControllerResultDone

ios - 如何在三个 View 之间成功创建数据的向下钻取层次结构?

ios - 从上下文中分离(断开)核心数据实体

ios - 在哪里保存以编程方式创建的文件,以保护它们免受更新?