2012-08-10 60 views
0

对于我的生活,我无法弄清楚这一点。我正在为Mountain Lion开发Xcode。我无法将NSView添加到NSWindow主窗口中的NSSplit视图中。我的分割视图按预期工作,虽然当我添加另一个视图时,视图覆盖了我窗口的底部栏,这不是我想要的行为。NSView OverLaying NSWindow Bottom Bar

enter image description here

我附上照片给什么我处理的想法。我知道原点(0,0)是任何视图的左下角,尽管我想要发生的是视图填充分割视图并调整大小,而不必手动调整视图大小,并且不会重叠底部条。请任何帮助将是伟大的。

+0

你是如何添加这个其他视图?是否有理由不能使用分割视图默认提供的自定义视图? – rdelmar 2012-08-10 03:50:53

+0

我正在使用分割视图提供的自定义视图。我从添加子视图到默认的分割视图中获得上述效果。对不起,我应该更清楚。我的错。最右边的视图是没有子视图的分割视图的一部分,左视图和中间视图是我已经添加的子视图。最左边的视图没有任何autoresizing掩码,中间视图有一个自动调整大小掩码setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable女巫给我几乎所需的行为,虽然它涵盖了底部栏。 – xMythicx 2012-08-10 04:16:34

回答

0

我想通了,似乎新的开发库要求你使用布局约束。如果任何人有同样的问题,这是我的代码。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    NSView * contentView = [window contentView]; 


    splitViewController = [[MainSplitViewController alloc]initWithNibName:@"MainSplitViewController" bundle:[NSBundle mainBundle]]; 

    NSView * subView = splitViewController.view; 

    [subView setTranslatesAutoresizingMaskIntoConstraints:NO]; 

    [contentView addSubview:splitViewController.view]; 

    NSDictionary *views = NSDictionaryOfVariableBindings(subView); 


    [contentView addConstraints: 
    [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subView]|" 
              options:0 
              metrics:nil 
               views:views]]; 

    [contentView addConstraints: 
    [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[subView]-32-|" 
              options:0 
              metrics:nil 
               views:views]]; 






    [window setContentBorderThickness:32.0 forEdge:NSMinYEdge]; 
    [window autorecalculatesContentBorderThicknessForEdge:NSMinYEdge]; 

    // Insert code here to initialize your application 
} 
0

应用程序的更好的照片应该先上传它。对不起

enter image description here