我制作了一个具有2个标签的首选项窗口的应用程序。 第一个标签中有很多prefs设置,但第二个标签非常小......
我想看看tabview&当我们在这两个标签之间切换时,窗口会调整大小。
我这样做,但它似乎不起作用,当我切换视图时,“网络设置”选项卡正在减少并消失(例如,如果高度从动画的原点变为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引用插座。
感谢您的帮助!
答案 0 :(得分:0)
我仍然认为问题在于您在IB中设置弹簧和支柱的方式 - 确保您不仅为标签视图本身设置它们,而且还为标签视图项目视图中的单个对象设置它们。我注意到我的子视图的默认设置都是顶部支柱设置,当窗口缩小时,视图底部附近的任何子视图都会消失。