NSViewController
我正在尝试将字典中的每个元素的一个子视图(从 an中查看)添加到 aNSScrollView
以获得一种表格视图,但在单元格上具有更大的灵活性。
是否可以(以编程方式)放置(以编程方式)例如 100 个子视图彼此下方,以便您必须向下滚动NSScrollView
才能到达最后一个元素?
NSViewController
我正在尝试将字典中的每个元素的一个子视图(从 an中查看)添加到 aNSScrollView
以获得一种表格视图,但在单元格上具有更大的灵活性。
是否可以(以编程方式)放置(以编程方式)例如 100 个子视图彼此下方,以便您必须向下滚动NSScrollView
才能到达最后一个元素?
简短的回答是肯定的。我以前做过这个,我向你保证它会起作用。让我也向你保证,它并不像看起来那么简单;)
这样做的方法是维护一个内容视图,您可以在其中以编程方式将所有自定义行添加为子视图。请注意,您要么必须在添加所有行之前调整 contentView 的大小,要么必须关闭行视图的自动调整大小。将documentView
你的设置scrollView
为这个自定义的 contentView,你应该很高兴。
是的,只需使用(即)以编程方式初始化视图
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];
}