2011-05-28 62 views
5

在我的视图创建与320的宽度和70的UIScrollView contentSize问题

响应于用户触摸的按钮的高度的滚动视图,我展开滚动视图,因此它是380(H)×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]; 

正如我调试这个项目,我可以看到,srect是320(宽)×8000(H)的大小;然而,我的问题是可滚动区域(用户可以实际触摸以滚动滚动视图)与原始大小时保持不变。

我显然缺少的东西,没有人知道它是什么?

编辑:我创建了一个样本项目来说明我有这个问题,它可以在这里找到:http://dl.dropbox.com/u/9930498/ScrollViewTest.zip

+0

滚动?或可见? – 2011-05-28 09:09:53

+0

我想你已经回答了你的问题,你是否也增加了内容大小,对应于帧大小? – rptwsthi 2011-05-28 09:36:58

+0

@rptwsthi什么? – 2011-05-28 10:41:49

回答

2

我认为,当做到这一点,你有你的下面的代码行的问题。

CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight)); 
    [scrollView setContentSize:srect]; 

调试程序,看看srect的内容,也让我们知道以下两个常

kNumImageskScrollObjHeight值。

+0

他在最后一行代码后做得太快:P – 2011-05-28 09:36:51

+0

const CGFloat kScrollObjHeight \t = 80; const NSUInteger kNumImages = 100; – 2011-05-28 10:34:15

+0

srect = width 320 /身高8000 – 2011-05-28 10:34:48

-1

您需要更改滚动视图的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]; 
+0

他在最后一行做过。 – 2011-05-28 09:09:24

+0

荡它.. :)然后我也不知道该怎么办...:d,对不起 – JNK 2011-05-28 09:11:25

+0

试试这个:http://cl.ly/0K1E3D2O2o2T0e3O321E – JNK 2011-05-28 09:19:07