【发布时间】:2015-11-28 19:53:02
【问题描述】:
我正在尝试基于UIScrollView 代表,特别是scrollViewDidScroll: 来实现一些东西。所以我在委托方法中阅读了scrollView.contentOffset,它工作得很好,直到我开始更快地滚动,然后contentOffset 在 Y 坐标上最多跳过 50 个点:
有谁知道如何获得contentOffset 的更好的精度?
【问题讨论】:
-
使用更精确的scrollViewDidEndScrollingAnimation。
-
但是一旦动画结束就会调用
scrollViewDidEndScrollingAnimation::当滚动视图中的滚动动画结束时告诉代理。滚动视图在 setContentOffset:animated: 和 scrollRectToVisible:animated: 方法的实现结束时调用此方法,但仅限于请求动画时。 -
如果您有相同的解决方案,请通知我。我也面临同样的问题。
-
你有什么解决办法吗?我面临同样的问题。如果你有答案,请告诉我,谢谢
-
我的猜测是,如果用户滚动得足够快,总会有跳转。我认为 UIKit 在每个动画帧(1/60 秒)多次更新 contentOffset 的值是没有意义的。也许您可以记录调用委托方法的时间戳,并查看每次调用发生的时间间隔(不是距离)。
标签: ios objective-c uitableview cocoa-touch uiscrollview