NSSplitView 左右滑动时,两边的Control同时改变大小

来源:互联网 发布:腾讯游戏数据分析岗位 编辑:程序博客网 时间:2024/05/18 01:46

NSSplitView 左右滑动,两边的Control同时改变大小

@interface Document :NSPersistentDocument <NSApplicationDelegate,NSSplitViewDelegate>


@property (assign)IBOutlet NSSplitView *m_splitView;

@property (assign)IBOutlet NSTableView *m_tableView;


// 这个函数是委托

- (void) splitViewDidResizeSubviews:(NSNotification *)notification

{

    NSArray *subviews = [m_NSSplitView1subviews];

    

    //Left (Index:0)

    NSView *topView = [subviews objectAtIndex:0];

    NSRect trect = [topView frame];

    NSLog(@"\n %d,%d,%d,%d .",trect.origin.x,trect.origin.y,trect.size.width,(int)trect.size.height);

   [[_outline_view_1enclosingScrollView]setFrame:trect];


    //Right (Index:1)

    NSView *bottomView = [subviews objectAtIndex:1];

    NSRect brect = [bottomView frame];

    NSPoint point = {0,0};

    NSRect lbrect = {point,brect.size};

    [[m_tableenclosingScrollView] setFrame:lbrect];

}

1.需要注意:添加一个委托类,让deletegate和NSSplitView 绑定

2.去掉自动布局

测试成功!

此方法可以放在视图里面

0 0
原创粉丝点击