UIScrollView:contentOffset和bounds.origin有什么区别?

时间:2011-12-24 17:22:13

标签: ios uiscrollview autorotate

我已将UIScrollView委托实现为:

- (void) scrollViewDidScroll: (UIScrollView *) scrollView {
    CGRect bounds = scrollView.bounds ; 
    CGPoint scrollLoc = scrollView.contentOffset ;

    NSLog(@"bounds: %@ offset:%@"
        ,   NSStringFromCGRect(bounds)
        ,   NSStringFromCGPoint(scrollLoc)) ;
}

无论我做什么,滚动或旋转设备,似乎contentOffsetbounds.origin始终相同。

为什么我们需要一个contentOffset,如果它与bounds origin相同,或者当两者实际上不同时会是什么情况?

3 个答案:

答案 0 :(得分:8)

根据docs

  

contentOffset属性始终是当前位置   滚动边界的左上角,是否正在滚动   或不。

答案 1 :(得分:1)

在两种情况下,视图都位于同一位置,但如果您使用ContentOffset,则内容可能会在视图中移动。

您将在第9集的图像视图中找到有用的信息......斯坦福大学系列:

http://itunes.apple.com/fr/itunes-u/developing-apps-for-ios-hd/id395605774

答案 2 :(得分:0)

据我所知,他们都提供相同的信息,一个是宽度和高度的矩形,另一个是原点。