我在页面上有一些UIScrollView
。您可以独立滚动它们,也可以将它们锁定在一起然后一起滚动。当它们被锁定时,会发生问题。
我使用UIScrollViewDelegate
和scrollViewDidScroll:
跟踪运动。我查询已更改的contentOffset
的UIScrollView
,然后通过将它们的contentOffset
属性设置为匹配来将更改反射(reflect)到其他滚动 View 。
很好。。。除了我注意到很多额外的电话。以编程方式更改滚动 View 的contentOffset
会触发要调用的委托(delegate)方法scrollViewDidScroll:
。我尝试使用setContentOffset:animated:
代替,但是我仍然在委托(delegate)上得到触发器。
如何以编程方式修改contentOffsets而不触发scrollViewDidScroll:
?
实现说明...。
每个UIScrollView
是自定义UIView
的一部分,该自定义UIViewController
使用委托(delegate)模式来回调呈现的contentOffset
子类,该子类负责协调各种ojit_code值。
最佳答案
可以通过将UIScrollView
的边界(原始设置为所需的内容偏移量)设置,而无需触发委托(delegate)回调scrollViewDidScroll:
来更改UIScrollView
的内容偏移量。
CGRect scrollBounds = scrollView.bounds;
scrollBounds.origin = desiredContentOffset;
scrollView.bounds = scrollBounds;
关于ios - 设置contentOffset以编程方式触发scrollViewDidScroll,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9418311/