在我的视图中,我创建了一个宽度为320,高度为70的滚动视图。
响应用户触摸按钮,我展开滚动视图,使其大小为380(高)x 320(宽)。
代码如下所示:
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];当我调试这个项目时,我可以看到srect的大小是320 (宽)x 8000 (h);但是我的问题是可滚动区域(用户可以实际触摸滚动视图的区域)保持与原始大小相同。
很明显我漏掉了什么,有人知道是什么吗?
编辑:我已经创建了一个示例项目来说明我遇到的问题,可以在这里找到它:http://dl.dropbox.com/u/9930498/ScrollViewTest.zip
发布于 2011-05-28 17:29:05
我认为,您的以下代码行有问题。
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight));
[scrollView setContentSize:srect];调试你的程序,看看srect的内容,也让我们知道下面两个常量的值
kNumImages,kScrollObjHeight .
发布于 2011-05-28 17:08:49
您需要更改滚动视图和框架的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];https://stackoverflow.com/questions/6160644
复制相似问题