在我的视图中,我创建了一个宽度为320,高度为70的滚动视图。
响应用户触摸按钮,我展开了滚动视图,因此它的大小为380(h)x 320(w)。
此代码如下所示:
CGRect scrollviewFrame = CGRectMake(0, 30, 320, 380);
[scrollView setFrame:scrollviewFrame];
[self layoutScrollImages:YES];
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight));
[scrollView setContentSize:srect];
当我调试这个项目时,我可以看到直立是320(宽)x 8000(高);但是我的问题是可滚动区域(用户实际可以触摸以滚动滚动视图)保持与原始大小相同。
我显然错过了一些东西,有人知道它是什么吗?
编辑:我创建了一个示例项目来说明我遇到的问题,可在此处找到:http://dl.dropbox.com/u/9930498/ScrollViewTest.zip
答案 0 :(得分:2)
我认为,您的下面一行代码存在问题。
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight));
[scrollView setContentSize:srect];
调试程序并查看 srect 的内容,另请告诉我们以下两个常量的值
kNumImages
,kScrollObjHeight
。
答案 1 :(得分:-1)
您需要更改scrollview的contentSize以及框架。 也许这会有所帮助:UIScrollView Class Reference
设置新尺寸时执行此操作
scrollView.scrollEnabled = YES;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.showsVerticalScrollIndicator = YES;
[scrollView setFrame:CGRectMake(0, 30, 320, 380)];
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight));
[scrollView setContentSize:srect];
[self layoutScrollImages:YES];