2014-09-30 3 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]; 
} 

Поскольку выход журнала не существует, я знаю, что метод никогда не вызывается. Я понимаю, что реализация представления и делегата в том же классе может быть необычным, но я сделал это раньше, и он работал каждый раз, пока. Пожалуйста, сообщите, что я мог сделать неправильно.

Спасибо

ответ

0

Оказывается, что я не понимаю, как работает и/или то, что [новое] NSSplitView людей означало, фиксируя положение разделителя. Метод делегата называется изменением размера SplitView, но при перетаскивании разделителя это не так. Спасибо, что прочитали мой вопрос.