5

次のように、2 つのビューを表示する分割ビュー コントローラーを作成しました。 ここに画像の説明を入力

コンパイルすると、次の結果が得られます。 ここに画像の説明を入力

残念ながら、最初のビューは表示されないため、ウィンドウの左側からドラッグして 2 つのビューを表示する必要があります。
ここに画像の説明を入力

まず、分割ビューがこのように動作するのはなぜですか? 最初から適切なサイズになっていないのはなぜですか?
この行をSplitViewControllerの viewDidLoad() 関数に追加すると:

splitView.adjustSubviews()

次に、同じサイズの 2 つのビューが表示されますが、 adjustSubviews()関数が正確に何をするのか理解できず、どちらの位置も制御できません。

プログラムで修正する方法は?各ビューのサイズを調整するには? インターフェイスビルダーで調整する方法はありますか?

ありがとうございました。

編集:この質問には50ポイントの報奨金があります

4

3 に答える 3

1

次を使用して、分割ビューで仕切りの位置を設定できるはずです (分割ビューに 2 つのビューがあると仮定します)。

self.splitView.setPosition(200.0, ofDividerAtIndex: 0)

これにより、最初の分割線が 200.0 の位置に設定されます

于 2015-01-30T00:20:04.350 に答える
0

のサブビューのサイズをNSSplitView直接設定する必要があります。ものを設定splitViewItemsしても効果がないようです。

// NSSplitViewController
- (void)viewDidLoad {
    [super viewDidLoad];

    NSView *view1 = self.splitView.subviews[0];
    NSRect rect = view1.frame;
    rect.size.width = 150;
    view1.frame = rect;

    NSView *view2 = self.splitView.subviews[1];
    rect = view2.frame;
    rect.size.width = 300;
    view2.frame = rect;
}
于 2015-01-29T12:11:46.720 に答える