首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不调用NSSplitView委托方法

不调用NSSplitView委托方法
EN

Stack Overflow用户
提问于 2014-09-30 10:04:44
回答 1查看 459关注 0票数 0

我正在试图修复NSSplitView内部的分隔符。发现它是如何在http://www.cocoabuilder.com/archive/cocoa/202611-fixed-width-of-pane-in-nssplitview.html的希望,它会工作得很好,但我甚至不能测试这个.

我希望通过执行以下代码行为我的SplitView类设置委托:

代码语言:javascript
复制
[self.mySplitView setDelegate:self.mySplitView];

SplitView类实现也实现了委托,如下所示:

代码语言:javascript
复制
@interface PanelSplitView : NSSplitView <NSSplitViewDelegate>

在目标-C实现中,我有以下方法:

代码语言:javascript
复制
-(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];
}

因为没有日志输出,所以我知道该方法从未被调用过。我知道在同一个类中实现视图和代表可能是不寻常的,但是我以前已经这样做过,到目前为止,它每次都能工作。请告诉我可能做错了什么。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-30 10:33:11

我似乎不明白新的NSSplitView是如何工作的,也不明白修复分隔符位置意味着什么。在调整SplitView大小时调用委托方法,但当分隔符被拖动时,则不会调用委托方法。谢谢你阅读我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26118068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档