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/