轻弹手势期间的内容偏移
Posted
技术标签:
【中文标题】轻弹手势期间的内容偏移【英文标题】:contentoffset during flick gesture 【发布时间】:2010-03-19 07:00:07 【问题描述】:有没有其他人注意到 UIScrollView 的 contentOffset 在滑动手势期间没有更新?
仅在轻弹手势完全完成后,即轻弹手势完成后才会更新。
手指离开屏幕后,滚动视图继续移动,处于减速阶段。但这并没有反映在 UIScrollView 的 contentOffset 中。
有没有办法在轻弹手势的减速部分跟踪 contentOffset 的位置?
我在顶部有一个 OpenGL 层,我希望它与滚动视图一起移动。虽然似乎无法从滚动视图中获取正确的信息...
想法?
谢谢,
迈克尔
【问题讨论】:
您是否排除了将 EAGLLayer 作为 UIScrollView 内容视图的子层的可能性?这当然是最简单的解决方案。 嗯。即使我要这样做.. id 必须以某种方式将轻弹转换为 OpenGL ......如果 EAGLLayer 是窗口的大小。要么,要么我会滚动一个比屏幕大的 OpenGL 层......我想知道这有多密集......而且我听说混合 UIKIT 和 OpenGL 是不好的。好主意,但我没想到那个...我刚看到这个 calayer 演示视图,其中包含有关动画期间图层位置的信息。我会试试这个。会更新。 【参考方案1】:在动画期间连续调用UIScrollViewDelegate
方法-scrollViewDidScroll:
。
【讨论】:
好的,谢谢 hatfinch。这是一个复杂的问题:uiscrollview 嵌入在 mkmapview 中......这有意义吗?我得到了 mkmapview 使用的滚动视图...我敢打赌 mkmapview 已经有一个滚动视图的委托。可以派两个代表吗?我如何查看 mkmapview 内部以了解它如何使用嵌入式滚动视图...?非常感谢! 是的,我最糟糕的怀疑得到了证实.. mkmapview 已经在使用委托...并设置我们自己的中断 mkmapview(具体来说,当我现在滚动时,地图不会加载 bc 委托不是获取有关卷轴的信息)。生病尝试添加一些将消息传递给 mkmapview 的代码 不工作...传递给代理的信息不是最新的。 “不是最新的”是什么意思? 只是 MKMapView 的子类,覆盖 UIScrollView 的委托方法,但一开始向-super发送消息。以上是关于轻弹手势期间的内容偏移的主要内容,如果未能解决你的问题,请参考以下文章