如何并排安排多个NSView?

时间:2012-04-18 14:46:58

标签: objective-c macos cocoa

我正在构建一个应用程序,在全屏模式下,我需要将两个单独的NSViews并排放置。正如我所看到的,可能有两种方法可以做到这一点,要么我可以创建一个超级NSView和两个子视图,要么将两个NSViews放在NSWindow中。问题是虽然这个过程适用于NSView,但我不能同时将它们组合在一起。方法setContentView:允许我只为窗口设置一个视图。方法setSubViews:涵盖了整个NSView。如何指定视图的精确协调以放置和调整它们?

2 个答案:

答案 0 :(得分:0)

将一个NSView设置为NSWindow的contentView,并使用 - addSubview NSView方法添加另外两个NSView

答案 1 :(得分:0)

NSWindow只有一个根NSView ......这就是Window的contentView。在该根视图中存储任何其他视图。

使用Interface Builder提供了一种以图形方式配置视图的位置/大小的简单方法..但您可以使用以下内容手动配置框架

NSView *myView = [[MyCustomView alloc] init];
[[myWindow contentView] addSubview:myView];
[myView setFrame:NSMakeRect( /* ... */ )];

一些阅读:NSView