0

我正在尝试在 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];
}

这导致以下结果:

在此处输入图像描述

如您所见,滚动视图中无法显示的行数更多。

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

4

1 回答 1

2

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

self.cliTableScrollView.contentSize = CGsizeMake(self.cliTableScrollView.frame.size.width, 60 + i * 30);
于 2013-01-25T12:45:04.920 回答