0

2 つのタブがある環境設定ウィンドウを持つアプリケーションを作成しました。最初のタブには多くの設定がありますが、2 番目のタブは非常に小さいです...

これら2つのタブを切り替えると、タブビューとウィンドウのサイズが変更されることを望みます。

私はそのように振る舞いますが、ビューを切り替えると、「ネットワーク設定」タブが縮小されて消えます(アニメーションで高さが原点から0になる場合のように)。

これが私のコードです(.m):

- (void)tabView:(NSTabView *)tabView
didSelectTabViewItem:(NSTabViewItem *)tabViewItem
{
    NSRect  frame;
    int    height;

    if ([[tabViewItem identifier] isEqualTo:@"Panel settings"]) {
        height = 400;

    } else if ([[tabViewItem identifier] isEqualTo:@"Network settings"]) {
        height = 200;

    } 

    frame = [[tabView window] frame];

    frame.size.height = height;
    frame.origin.y += height;

    [[tabView window] setFrame:frame display:YES animate:YES];
}

タブビューをデリゲートにリンクしたことに注意してください。私のウィンドウは NSWindow * PrefWindow 参照アウトレットにリンクされています。

ご協力いただきありがとうございます!

4

1 に答える 1

0

まだ問題はIBでのスプリングとストラットの設定方法にあると思います。タブビュー自体だけでなく、タブビューアイテムのビュー内の個々のオブジェクトにも設定するようにしてください。サブビューのデフォルト設定では、ウィンドウが縮小するとビューの下部にあるサブビューが消える上部ストラットが設定されていることに気付きました。

于 2012-05-14T00:33:58.583 に答える