0

我有一个 NSSplitView,有三个视图。我不希望第一个视图(从左侧)为 100.0 宽,我希望第二个(从左侧)为 250.0 宽。我还希望这两个视图的宽度保持固定。

所以,inapplicationDidFinishLoading是设置的位置。

[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;
}

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

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

4

1 回答 1

0

我知道这听起来很明显,但是您尝试过好的旧支柱和弹簧吗?卸下弹簧并在顶部和左侧添加支柱,它们将留在左上角并且不会调整大小。

于 2012-09-02T20:32:22.990 回答