1

我正在尝试以编程方式在 NSSplitView 上添加 NSView (以覆盖它)。每次尝试这样做都会导致它被添加到 NSSplitview 作为额外的子视图。有人可以帮忙吗?

代码:

InfoTrainView *myView = [[[InfoTrainView alloc] initWithFrame: aFrame] autorelease];
[NSBundle loadNibNamed:@"InfoTrainView" owner:myView]; 
[self.windowController.splitViewBase addSubview:myView];
4

1 回答 1

0

我相信您需要将新视图作为子视图添加到 NSSplitView 的超级视图(即父视图)。这样它就成为NSSplitView的兄弟并可以覆盖它。您当前的方法使新视图成为拆分视图的子视图,然后将其设置为拆分四种方式。

NSView* parentView = [self.windowController.splitViewBase superview];
if (parentView)
    [parentView addSubview:myView];

parentView上面应该为您提供“内容视图”,它是 NSWindow 内的默认 NSView,IB 将 NSSplitView 放置在其中。如果parentView == nil,您可以尝试先手动将 NSView 添加到窗口,然后将 NSSplitView 放入其中。

在旁注中,您的问题回答了我自己的问题 - 如何以编程方式添加到 NSSplitView 内部拆分的视图!谢谢 :)

于 2013-04-27T02:10:02.547 回答