如何指定 NSSplitView 窗格/子视图的宽度

Rai*_*tle 0 cocoa objective-c nssplitview

我想在 NSSplitView 中指定左窗格的默认宽度(即在代码中,因为 XCode 中似乎没有办法输入默认大小)。这是我为了实现这一目标而设法拼凑在一起的代码,但它看起来非常冗长。我是 Objective-C 的新手,所以也许有更好的方法,但我似乎无法仅在子视图(*窗格)上输入 .width 。我错过了什么吗?

NSView *pane = [[_split subviews] objectAtIndex:0];
NSRect rect = [pane frame];
rect.size.width = 200;
[pane setFrame:rect];
Run Code Online (Sandbox Code Playgroud)

附言。我知道如何执行约束[最小/最大]坐标,我想要做的是指定运行应用程序时的大小;目前它占据了窗口的 50%,我不希望这样。

谢谢

小智 5

将分隔线移至您想要的位置

[splitView setPosition:position ofDividerAtIndex:dividerIndex]
Run Code Online (Sandbox Code Playgroud)

如果您只有两个窗格(即一个分隔线),则分隔线索引将为 0。这相当于用户将分隔线移动到 setPosition,因此窗格将根据委托固定的约束进行调整。