6

有什么方法可以获取 NSWindow 的大小(以像素为单位)并显示它?因此,当该人调整窗口大小时,文本将更改并显示新大小。

4

4 回答 4

12

如果您实现该方法

- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize

在您设置为窗口委托的对象上,每当窗口更改大小时都会调用它。从那里您可以更新用于显示大小的文本字段。

于 2009-09-03T16:34:06.790 回答
6

关于什么:

CGSize window_size = my_window.frame.size;
于 2009-09-03T16:29:01.153 回答
3
NSSize myNSWindowSize = [ [ myNSWindow contentView ] frame ].size;

...应该是你要找的。如果您想要包含 NSWindow 标题栏的大小,则应该使用 fbrereto 的建议。

于 2009-12-15T08:22:42.173 回答
0

与其尝试处理调整大小,不如确保正确设置视图的自动调整大小掩码。在 Interface Builder 中,您可以在尺寸检查器 (⌘3) 上选择视图来执行此操作。

如果您在没有设置自动调整大小掩码的情况下布置了整个视图层次结构,那么您将面临一些乏味的事情,但这并不难(只是乏味),并且不会花费很长时间。这就是为什么您应该在创建视图时设置视图的自动调整大小掩码。

一旦设置了自动调整大小的掩码,视图将自动调整大小;除非您的界面非常复杂,或者任何视图都可以缩小到零大小,否则您不需要干预。

于 2009-09-03T17:49:59.547 回答