与UIScrollView和setContentSize混淆

时间:2012-01-27 20:19:30

标签: iphone ios uiscrollview xcode4.2

在Xcode 3中,我按照UIScrollView上的教程告诉我将View的大小设置为320x650,然后将ScrollView拖到该View的顶部。添加后:

[scrollView isScrollEnabled:YES];
[scrollView setContentSize:CGMakeSize(320, 650)];

在viewDidLoad中,在正确连接所有插座后,一切正常,当我尝试上下移动屏幕时,我能够看到滚动条。

然而,当我在Xcode 4.2中尝试相同的教程时,它没有用,即。我无法滚动视图。看来我需要将内容大小设置为大于ScrollView的大小。

这是在XCode 4.2中发生了变化,还是原始教程错了?

scrollView的大小是否应始终为320x480?我不再理解现在这意味着什么的语义,即。为什么我需要使用scrollView的setContentSize,还要在Interface Builder中设置scrollView的大小。当我最初在视图顶部拖动scrollView时,它的大小与View相同。这是错的吗?

1 个答案:

答案 0 :(得分:2)

对于UIScrollView,contentSize通常会大于UIScrollView的帧大小。设置contentSize的目的是告诉UIScrollView它的可滚动区域有多大。当用户拖动内容时,UIScrollView将知道它可以向左或向右或向上或向下拖动多远。