【发布时间】:2014-05-23 11:39:50
【问题描述】:
我需要获取UIScrollView(更准确地说是UICollectionView)的contentOffset 值,这些值以非常高的频率采样,以便根据该滚动视图的contentOffset 转换图层。我发现scrollViewDidScroll 中的采样率不够快,无法拾取contentOffset 差异足够小,当我快速滑动时执行平滑转换。有没有办法寻找更小的差异,还是我完全错误地处理这个问题?
【问题讨论】:
-
没有比这更快的了。 每次滚动视图的内容偏移发生变化时都会调用该委托方法,因此没有必要比这更快地对其进行采样。
-
我明白了,我想知道其他人如何将视图转换与滚动联系起来。直接看手势识别器是否可能会带来更好的结果?
-
最好的办法是使用
scrollViewDidScroll方法并创建一种方法来平滑每次调用之间的动画。考虑一下抗锯齿,处理器填充像素之间的间隙以产生图像比实际更平滑的效果。 -
像交互式自定义过渡动画一样做:将层的
speed设置为0,附加动画,并继续设置层的timeOffset,正如我在这里描述的:stackoverflow.com/a/22677298/341994
标签: ios objective-c cocoa-touch uiscrollview