可可自动调整大小的窗口

时间:2011-01-28 16:54:02

标签: objective-c cocoa macos interface-builder

当用户点击标签时,如何使用NSTabView平滑调整我的NSWindow?我希望它喜欢“System Preferances”应用程序:窗口根据内容改变其大小。

1 个答案:

答案 0 :(得分:7)

使用NSWindow的setFrame:animated:方法。如果要调低窗口大小,请确保将原点的y坐标减小与增加窗口大小相同的量。要同时调整窗口中的视图大小,请确保正确设置其自动调整大小属性。

NSWindow *window;
CGFloat widthChange, heightChange;

NSRect frame = [window frame];
frame.size.width += widthChange;
frame.size.height += heightChange;
frame.origin.y -= heightChange;
[window setFrame:frame animated:YES];