【问题标题】:UIScrollView and setContentOffsetUIScrollView 和 setContentOffset
【发布时间】:2011-08-24 01:46:12
【问题描述】:

我的问题是关于这个方法:
(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

我已经阅读了文档,但我不明白这个方法是干什么用的。

感谢您的回答。

【问题讨论】:

    标签: iphone cocoa-touch ios uiscrollview


    【解决方案1】:

    documentation 中所述。

    滚动到特定偏移量

    滚动到特定的左上角位置(contentOffset 属性)可以通过两种方式完成。 setContentOffset:animated: 方法将内容滚动到指定的内容偏移量。如果动画参数为YES,则滚动将以恒定的速率从当前位置动画到指定位置。如果动画参数为NO,则立即滚动并且不发生动画。在这两种情况下,代表scrollViewDidScroll: 消息。如果动画被禁用,或者如果您通过直接设置contentOffset 属性来设置内容偏移量,则委托会收到一条scrollViewDidScroll: 消息。如果启用了动画,则代理在动画进行时会收到一系列scrollViewDidScroll: 消息。动画完成后,代理会收到scrollViewDidEndScrollingAnimation: 消息。

    即简而言之,如果您想通过传递滚动位置值(即滚动量)以编程方式滚动UIScrollView,则可以使用此方法。

    该方法还调用了scrollViewDidScroll:的委托,即UIScrollView类的委托方法,通过该方法可以保持UIScrollView的滚动量。

    【讨论】:

      【解决方案2】:

      UIScrollView 让您拥有比您在屏幕上可以查看的内容更大的内容。 在下图中,您可以看到一个大红色矩形,里面有一个绿色矩形。

      UIScrollView 的 contentArea 属性定义了视图的逻辑大小(红色矩形)。 滚动视图的可见区域由绿色矩形表示。 contentOffset 是可见区域的左上角。改变 contentOffset,可见区域会左右移动。

      (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
      

      上面的方法会将contentOffset(绿色矩形的左上角)移动到指定位置,从而移动可见区域(绿色矩形)。

      希望这会有所帮助。

      【讨论】:

      • 绿色矩形由大矩形内的中间两条线表示
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      相关资源
      最近更新 更多