2014-09-30 90 views
0

我正試圖修復NSSplitView內部的分隔線。發現它是如何在http://www.cocoabuilder.com/archive/cocoa/202611-fixed-width-of-pane-in-nssplitview.html 希望做到這一點,將通過執行下面的代碼行正常工作,但我甚至無法檢驗這個...未調用NSSplitView委託方法

我[希望]我的SPLITVIEW類設置委託:

[self.mySplitView setDelegate:self.mySplitView]; 

的SPLITVIEW類實現,也可以實現如下的代表:

@interface PanelSplitView : NSSplitView <NSSplitViewDelegate> 

內部Objective-C的實施方式中,我有以下方法:

-(void)splitView:(NSSplitView *)sender resizeSubviewsWithOldSize:(NSSize)oldSize 
{ 
    NSLog(@"Resizing SplitView subviews"); 

    CGFloat dividerThickness = [sender dividerThickness]; 
    NSRect leftRect = [[[sender subviews] objectAtIndex:0] frame]; 
    NSRect rightRect = [[[sender subviews] objectAtIndex:1] frame]; 
    NSRect newFrame = [sender frame]; 

    leftRect.size.height = newFrame.size.height; 
    leftRect.origin = NSMakePoint(0, 0); 
    rightRect.size.width = newFrame.size.width - leftRect.size.width 
- dividerThickness; 
    rightRect.size.height = newFrame.size.height; 
    rightRect.origin.x = leftRect.size.width + dividerThickness; 

    [[[sender subviews] objectAtIndex:0] setFrame:leftRect]; 
    [[[sender subviews] objectAtIndex:1] setFrame:rightRect]; 
} 

由於沒有日誌輸出,我知道該方法從不調用。 我知道在同一個類中實現View和Delegate可能並不常見,但我之前完成了它,並且它每次都工作到目前爲止。 請告訴我可以做錯什麼。

謝謝

回答

0

看來,我不明白[新] NSSplitView如何工作和/或什麼人,通過固定分隔條位置的意思。 在調整SplitView的大小時調用委託方法,但當拖動分隔器時,它不是。 謝謝你閱讀我的問題。