2012-08-10 57 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