UIScrollView:setContentOffset:animated和scrollRectToVisible:animated之间的区别

时间:2012-02-16 00:50:49

标签: ios uiscrollview

我已阅读适用于iOS的Apple Scroll View编程指南,但仍对以下部分感到困惑:

  

滚动到特定偏移

     

滚动到特定的左上角位置(contentOffset属性)   可以通过两种方式完成。 setContentOffset:animated:方法   将内容滚动到指定的内容偏移量。如果是动画的   参数为YES,滚动将从当前位置生成动画   以恒定的速率到达指定的位置。如果是动画的   参数为NO,滚动是立即的,没有动画   地点。在这两种情况下,委托都会发送一个scrollViewDidScroll:   信息。如果禁用动画,或者您设置了内容偏移量   直接设置contentOffset属性,委托收到一个   单个scrollViewDidScroll:消息。如果启用了动画,那么   delegate收到一系列scrollViewDidScroll:消息作为   动画正在进行中。动画完成后,代表   收到scrollViewDidEndScrollingAnimation:message。

     

使矩形可见

     

也可以滚动矩形区域   可见。当应用程序需要时,这尤其有用   显示当前在可见区域之外的控件   可见的视图。 scrollRectToVisible:animated:方法滚动   指定的矩形,以便它只在滚动视图中可见。   如果动画参数为YES,则矩形将滚动到视图中   以恒定的速度。与setContentOffset:animated:一样,如果是动画   禁用,委托发送单个scrollViewDidScroll:   信息。如果启用了动画,则会向委托发送一系列动画   scrollViewDidScroll:动画进展时的消息。如果是   scrollRectToVisible:animated:滚动视图的跟踪和拖动   属性也是NO。

     

如果为scrollRectToVisible启用了动画:动画:,则   delegate收到scrollViewDidEndScrollingAnimation:消息,   提供滚动视图已到达的通知   指定的位置和动画已完成。

我认为setContentOffset:animated和scrollRectToVisible之间非常相似:动画,有人可以给出一些关于它们的提示吗?

而scrollRectToVisible:animated:类似于scrollViewDidEndDecelerating:animated :.

1 个答案:

答案 0 :(得分:14)

简短回答:

setContentOffset:动画保留缩放比例

scrollRectToVisible:动画可能会改变它。