我正在尝试为字典中的每个元素添加一个子视图(来自NSViewController
的视图)到NSScrollView
以获得一种tableview,但是在单元格上具有更大的灵活性。
是否可以(以编程方式)放置,例如100个子视图在彼此之下,因此您必须向下滚动NSScrollView
才能到达最后一个元素???
先谢谢了, Grolior
答案 0 :(得分:4)
简短的回答是肯定的。我以前做过这个,我向你保证它会起作用。我还要向你保证,它不像看起来那么简单;)
执行此操作的方法是维护一个内容视图,您可以通过编程方式将所有自定义行添加为子视图。请注意,您必须在添加所有行之前调整contentView 的大小,否则您必须关闭行视图的自动调整大小。将documentView
的{{1}}设置为此自定义contentView,您应该很高兴。
答案 1 :(得分:1)
是的,只需使用(即。)
以编程方式初始化视图NSView *subView = [[NSView alloc] initWithFrame:CGRectMake(10,10,100,100)];
然后使用主视图的addSubview:
方法添加到main
请记住在完成子视图后手动释放子视图(这意味着,当您将子视图添加到主视图中时)。
例如,您可以执行类似
的操作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];
}