【问题标题】:How to track uiscrollview offset faster than in scrollviewdid scroll?如何比 scrollviewdid 滚动更快地跟踪 uiscrollview 偏移?
【发布时间】: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


【解决方案1】:

您可以尝试使用scrollview Delegate methods

scrollViewWillBeginDragging() 可以解决你的目的。

必要的文档可以在here找到

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    相关资源
    最近更新 更多