我正在尝试以编程方式在NSSplitView上添加NSView(以覆盖它)。每次尝试这样做都会导致它作为额外的子视图添加到NSSplitview中。 有人可以帮忙吗?
代码:
InfoTrainView *myView = [[[InfoTrainView alloc] initWithFrame: aFrame] autorelease];
[NSBundle loadNibNamed:@"InfoTrainView" owner:myView];
[self.windowController.splitViewBase addSubview:myView];
答案 0 :(得分:0)
我相信您需要将您的新视图作为子项添加到NSSplitView的 superview (即父级)。通过这种方式,它成为NSSplitView 的兄弟,可以覆盖它。您当前的方法使新视图成为拆分视图的子视图,然后将其自身设置为拆分四种方式。
NSView* parentView = [self.windowController.splitViewBase superview];
if (parentView)
[parentView addSubview:myView];
上面的 parentView
应该会获得“内容视图”,它是NSWindow中的默认NSView,IB将NSSplitView置于其中。如果parentView == nil
,您可以先尝试手动将NSView添加到窗口,然后将NSSplitView放入其中。
在旁注中,您的问题回答了我自己的问题 - 如何以编程方式添加到NSSplitView内部拆分的视图!谢谢:))