面板内的UIScrollView不滚动

时间:2013-01-25 12:25:24

标签: ios gridview uiscrollview

我正在尝试在UIScrollview中创建一个“GridView”样式表,该表本身位于受限制的空间内。我把它放在Scrollview中,这样如果有多行可以显示,用户就可以向下滚动。

相关部分的故事板如下所示:

enter image description here

为了测试它,我尝试用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];
}

这导致以下结果:

enter image description here

如您所见,滚动视图中可以显示的行数多于

我想知道的是如何修改上面的内容,以便显示滚动条,从而可以访问越界行。

1 个答案:

答案 0 :(得分:2)

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

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