我有一个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;
}
但是,当我调整整个窗口的大小时,所有视图的大小都会发生变化。我只希望第三个视图改变它的大小。我需要什么来防止这种行为?
不,我不想使用第三方库。
答案 0 :(得分:0)
我知道这听起来很明显,但你有没有尝过旧的支柱和弹簧?拆下弹簧并在顶部和左侧添加支柱,它们将保留在左上角而不是调整大小。