0

3 つのビューを持つ NSSplitView があります。最初のビュー (左から) を 100.0 幅にしたくなく、2 番目 (左から) を 250.0 幅にしたい。また、これら 2 つのビューの幅を固定したままにしたいと考えています。

では、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;
}

ただし、ウィンドウ全体のサイズを変更すると、すべてのビューのサイズが変わります。3 番目のビューのサイズを変更するだけです。この動作を防ぐには何が必要ですか?

いいえ、サードパーティのライブラリを使用したくありません。

4

1 に答える 1

0

当然のことのように聞こえるかもしれませんが、古き良きストラットとスプリングを試したことがありますか? スプリングを取り外し、上部と左側にストラットを追加すると、それらは左上隅にとどまり、サイズは変更されません.

于 2012-09-02T20:32:22.990 に答える