转自stackoffoverflow:
Scrolling to a specific top-left location (the contentOffset
property)
can be accomplished in two ways. The setContentOffset:animated:
method
scrolls the content to the specified content offset. If the animated parameter is YES
,
the scrolling will animate from the current position to the specified position at a constant rate. If the animated parameter is NO
,
the scrolling is immediate and no animation takes place. In both cases, the delegates scrollViewDidScroll:
messages.
If animation is disabled, or if you set the content offset by setting the contentOffset
property
directly, the delegate receives a single scrollViewDidScroll:
message.
If animation is enabled, then the delegate receives a series of scrollViewDidScroll:
messages
as the animation is in progress. When the animation is complete, the delegate receives a scrollViewDidEndScrollingAnimation:
message.
i.e. In simple words if you want to scroll UIScrollView
programatically
by passing scrolling position values i.e. how much amount to scroll, you can use this method.
This method also calls delegate scrollViewDidScroll:
i.e.
delegate method of UIScrollView
class
through which you can maintain the amount of scrolling of UIScrollView
.
总结起来,如果直接调用 setContentOffset:方法,或者setContentOffset: animated: 为NO, 在方法结束就可以立刻改变contentoffset值;如果设为YES,只能在调用这个方法的函数执行结束后才能得到新的contentoffset值。