2013-01-25 36 views
0

我试图在UIScrollview内创建一个“GridView”样式表,该表本身在受限空间内。我把它放在滚动视图中,这样如果有更多的行可以显示,用户就可以向下滚动。面板内不滚动的UIScrollView

我对相关的部分故事板是这样的:

enter image description here

为了测试它,我试图用UILabels加油吧,有了这个代码:

for (int i = 0; i < 15; i++) 
{ 
    UILabel *cliLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, (60+(i*30)), 80, 40)]; 
    UILabel *cliColum2Label = [[UILabel alloc] initWithFrame:CGRectMake(110, (60+(i*30)), 150, 40)]; 
    UILabel *cliColum3Label = [[UILabel alloc] initWithFrame:CGRectMake(270, (60+(i*30)), 80, 40)]; 
    UILabel *cliColum4Label = [[UILabel alloc] initWithFrame:CGRectMake(360, (60+(i*30)), 80, 40)]; 
    [cliLabel setText:@"Column 1"]; 
    [cliColum2Label setText:[NSString stringWithFormat:@"Column 2, row %d", i]]; 
    [cliColum3Label setText:@"Column 3"]; 
    [cliColum4Label setText:@"Column 4"]; 
    [self.cliTableScrollView addSubview:cliLabel]; 
    [self.cliTableScrollView addSubview:cliColum2Label]; 
    [self.cliTableScrollView addSubview:cliColum3Label]; 
    [self.cliTableScrollView addSubview:cliColum4Label]; 
} 

这将导致如下:

enter image description here

正如您所看到的,在滚动视图中显示的行数多于可显示的行数。

我想知道的是如何修改上面的内容,以便出现一个滚动条,可以访问超出界限的行。

+1

如果您的目标是iOS 6,则应该查看UICollectionView,它是一个滚动视图子类,以完成您想要的操作。 –

回答

2

UIScrollView不知道它需要滚动多少,你需要通过提供contentSize来告诉它。例如,在循环结束时:

self.cliTableScrollView.contentSize = CGsizeMake(self.cliTableScrollView.frame.size.width, 60 + i * 30); 
+0

谢谢。我在循环后面添加了这一行:'[self.cliTableScrollView setContentSize:CGSizeMake(self.cliTableScrollView.frame.size.width,60 + i * 30)];'...并且它工作。非常感激。 – Robert