如何并排安排多个NSView?
问题描述:
我正在构建一个应用程序,我需要在全屏模式下并排放置两个独立的NSViews
。正如我所看到的,可能有两种方法可以做到这一点,或者我可以制作超级NSView
和两个子视图,或者将两个NSViews
放在NSWindow
中。问题是,虽然这个过程对我来说是一个NSView
,但我不能同时把它们放在一起。方法setContentView:
允许我为窗口只设置一个视图。而方法setSubViews:
涵盖了整个NSView
。如何指定视图的精确协调来放置和调整它们的大小?如何并排安排多个NSView?
答
一个NSWindow只有一个根的NSView的addSubview
方法......这就是Window的contentView
。在该根视图中存储任何其他视图。
使用界面生成器提供了配置的观点在以图形方式的位置/大小的一个简单的方法..但你可以手动与周围的东西线配置其帧:
NSView *myView = [[MyCustomView alloc] init];
[[myWindow contentView] addSubview:myView];
[myView setFrame:NSMakeRect(/* ... */)];
一些阅读:NSView
答
设置一个的NSView作为NSWindow的内容查看并添加其他两个的NSView的使用 - 的NSView