0

我制作了一个应用程序,它有一个带有 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 回答