我有一个很像Apple's Page Control example project的分页滚动视图,我已将其改编为水平选择器。我真的希望能够在每次轻弹手势中滚动浏览多个页面而不是一次一个,就像UIPickerViews的工作方式一样。寻找有关如何处理此问题的一些指导。谢谢!
答案 0 :(得分:1)
首先 Source Code
可能无论在那里设置这些数字的是什么,你设置contentOffset
都不会给你留下太深刻的印象。所以它只是继续设置它认为应该是下一个瞬间的contentOffset - 而不验证contentOffset是否在此期间发生了变化。
我会继承UIScrollView
并将魔法置于setContentOffset
方法中。根据我的经验,所有内容偏移更改都会通过该方法,甚至是内部滚动引起的内容偏移更改。只需要[super setContentOffset
:..]在某个时刻将消息传递给真实的UIScrollView
。
也许如果你把你的换挡动作放在那里它会更好。您至少可以检测到contentOffset
的3000关设置,并在传递消息之前修复它。如果您还要覆盖contentOffset方法,您可以尝试查看是否可以制作虚拟无限内容大小,并将其缩小到“引擎盖下”的实际比例。