我正在尝试在UIScrollview中创建一个“GridView”样式表,该表本身位于受限制的空间内。我把它放在Scrollview中,这样如果有多行可以显示,用户就可以向下滚动。
相关部分的故事板如下所示:
为了测试它,我尝试用UILabel填充它,使用以下代码:
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];
}
这导致以下结果:
如您所见,滚动视图中可以显示的行数多于
我想知道的是如何修改上面的内容,以便显示滚动条,从而可以访问越界行。
答案 0 :(得分:2)
UIScrollView
不知道滚动多少,您需要通过提供contentSize
来告诉它。例如,在循环结束时:
self.cliTableScrollView.contentSize = CGsizeMake(self.cliTableScrollView.frame.size.width, 60 + i * 30);