修复了NSSplitView中的大小视图

时间:2012-09-02 16:37:32

标签: objective-c nssplitview

我有一个NSSplitView,有三个视图。我不是第一个视图(从左边)到100.0宽,我希望第二个(从左边)宽250.0。我还希望这两个视图的宽度保持不变。

因此,在applicationDidFinishLoading设置位置。

[mainSplitView setPosition:100.0 ofDividerAtIndex:0];
[mainSplitView setPosition:350.0 ofDividerAtIndex:1];

我也设置了委托:

[mainSplitView setDelegate:self];

最后,我实施了协议的以下部分:

- (NSRect)splitView:(NSSplitView *)splitView effectiveRect:(NSRect)proposedEffectiveRect forDrawnRect:(NSRect)drawnRect ofDividerAtIndex:(NSInteger)dividerIndex
{
    return NSZeroRect;
}

但是,当我调整整个窗口的大小时,所有视图的大小都会发生变化。我只希望第三个视图改变它的大小。我需要什么来防止这种行为?

不,我不想使用第三方库。

1 个答案:

答案 0 :(得分:0)

我知道这听起来很明显,但你有没有尝过旧的支柱和弹簧?拆下弹簧并在顶部和左侧添加支柱,它们将保留在左上角而不是调整大小。