我正在试图修复NSSplitView内部的分隔符。发现它是如何在http://www.cocoabuilder.com/archive/cocoa/202611-fixed-width-of-pane-in-nssplitview.html的希望,它会工作得很好,但我甚至不能测试这个.
我希望通过执行以下代码行为我的SplitView类设置委托:
[self.mySplitView setDelegate:self.mySplitView];SplitView类实现也实现了委托,如下所示:
@interface PanelSplitView : NSSplitView <NSSplitViewDelegate>在目标-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];
}因为没有日志输出,所以我知道该方法从未被调用过。我知道在同一个类中实现视图和代表可能是不寻常的,但是我以前已经这样做过,到目前为止,它每次都能工作。请告诉我可能做错了什么。
谢谢
发布于 2014-09-30 10:33:11
我似乎不明白新的NSSplitView是如何工作的,也不明白修复分隔符位置意味着什么。在调整SplitView大小时调用委托方法,但当分隔符被拖动时,则不会调用委托方法。谢谢你阅读我的问题。
https://stackoverflow.com/questions/26118068
复制相似问题