3

NSViewController我正在尝试将字典中的每个元素的一个子视图(从 an中查看)添加到 aNSScrollView以获得一种表格视图,但在单元格上具有更大的灵活性。

是否可以(以编程方式)放置(以编程方式)例如 100 个子视图彼此下方,以便您必须向下滚动NSScrollView才能到达最后一个元素?

4

2 回答 2

4

简短的回答是肯定的。我以前做过这个,我向你保证它会起作用。让我也向你保证,它并不像看起来那么简单;)

这样做的方法是维护一个内容视图,您可以在其中以编程方式将所有自定义行添加为子视图。请注意,您要么必须在添加所有行之前调整 contentView 的大小,要么必须关闭行视图的自动调整大小。将documentView你的设置scrollView为这个自定义的 contentView,你应该很高兴。

于 2011-09-15T18:42:08.563 回答
1

是的,只需使用(即)以编程方式初始化视图

NSView *subView = [[NSView alloc] initWithFrame:CGRectMake(10,10,100,100)];

然后添加到addSubview:主视图的main using方法中。
请记住在完成后手动释放子视图(也就是说,当您将其添加到主视图时)。

例如,您可以执行类似的操作

int height x = 10, y = 10, width = 100, height = 100;

for(int i = 0;i<100;i++) {
    NSView *subView = [[NSView alloc] initWithFrame:CGRectMake(x,y + height*i,width,height)];
    [scrollView addSubview:subView];
    [subView release];
}
于 2011-09-15T18:40:07.643 回答