得到nswindow的大小

时间:2009-09-03 16:26:24

标签: cocoa size nswindow

我有没有办法获得NSWindow的大小(以像素为单位)并显示它?因此,当此人调整窗口大小时,文本将更改并显示新大小。

4 个答案:

答案 0 :(得分:12)

如果您实施方法

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

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

答案 1 :(得分:5)

怎么样:

CGSize window_size = my_window.frame.size;

答案 2 :(得分:3)

NSSize myNSWindowSize = [ [ myNSWindow contentView ] frame ].size;

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

答案 3 :(得分:0)

您应该确保正确设置了视图的自动调整遮罩,而不是尝试处理调整大小。在Interface Builder中,可以在“大小”检查器(⌘3)上执行此操作,并选择视图。

如果你在没有设置自动调整模板的情况下放置整个视图层次结构,那么你就会有一点乏味,但这并不难(只是单调乏味),并且不会花很长时间。这就是为什么你应该在创建时设置视图的自动调整大小。

设置自动调整遮罩后,视图将自动调整大小;除非您的界面非常复杂,或者任何视图可以缩小到零,否则您无需干预。