【发布时间】:2012-03-14 04:03:14
【问题描述】:
我在一个页面上有几个UIScrollView。您可以单独滚动它们或将它们锁定在一起并将它们作为一个滚动。当它们被锁定时会出现问题。
我使用UIScrollViewDelegate 和scrollViewDidScroll: 来跟踪运动。我查询 UIScrollView 的 contentOffset 发生了变化,然后通过设置它们的 contentOffset 属性来匹配其他滚动视图的变化。
太好了....除了我注意到很多额外的电话。以编程方式更改我的滚动视图的contentOffset 会触发调用委托方法scrollViewDidScroll:。我尝试改用setContentOffset:animated:,但我仍然在委托上获得触发器。
如何以编程方式修改我的 contentOffsets 以不触发 scrollViewDidScroll:?
实施说明....
每个UIScrollView 都是自定义UIView 的一部分,该自定义UIView 使用委托模式回调呈现的UIViewController 子类,该子类处理各种contentOffset 值的协调。
【问题讨论】:
-
我有同样的问题,我在 UITableView 中使用 UITextView,当文本视图调整大小时,触发 UITableView->scrollViewDidScroll ;-(
-
Tarc 的回答完美。从那时起,我开始了解修改 bounds 属性并了解正在发生的事情。
标签: ios uiscrollview uiscrollviewdelegate