2012-01-27 68 views
0

在Xcode 3中,我遵循UIScrollView上的一个教程,告诉我将View的大小设置为320x650,然后将该ScrollView拖放到该视图的顶部。加入后:与UIScrollView的混淆和setContentSize

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

,并正确连接所有网点后,一切正常,我能看到滚动条,当我试图上下移动屏幕。

但是,当我在Xcode 4.2中尝试过相同的教程时,它不起作用,即。我无法滚动视图。看起来我需要将内容大小设置为大于ScrollView的大小。

这是在XCode 4.2中改变的东西,还是原来的教程错误?

scrollView的大小应该总是320x480吗?我不再理解这一切意味着什么的语义,即。为什么我需要设置scrollView的setContentSize,还要在Interface Builder中设置scrollView的大小。当我最初将视图拖到视图顶部时,它的大小与视图大小相同。这是错的吗?

+0

我是iOS开发的新手,我不得不为我的应用程序广泛使用UIScrollView。我发现的是,ScrollView在实际需要开始在屏幕上滚动某些内容之前不会执行任何操作。我的猜测是,当您编写教程时,视图仍然会响应平移手势,并移动屏幕并在用户的手指从屏幕上移开时快速返回。这种行为可能随着框架升级而移动,因为它不是必需的。 – RLH 2012-01-27 20:37:02

回答

2

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

+0

感谢您的回复。假设我的视图是(320,700)。我拖动到视图上的ScrollView也是(320,700)。为了让我的ScrollView滚动,我应该如何设置内容大小(320,750)? – steve8918 2012-01-27 20:42:11

+2

您应该将UIView拖到UIScrollView上。如果您将contentSize设置为320 x 750,则可以上下拖动视图。 – bbarnhart 2012-01-27 20:59:12