我有没有办法获得NSWindow的大小(以像素为单位)并显示它?因此,当此人调整窗口大小时,文本将更改并显示新大小。
答案 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)上执行此操作,并选择视图。
如果你在没有设置自动调整模板的情况下放置整个视图层次结构,那么你就会有一点乏味,但这并不难(只是单调乏味),并且不会花很长时间。这就是为什么你应该在创建时设置视图的自动调整大小。
设置自动调整遮罩后,视图将自动调整大小;除非您的界面非常复杂,或者任何视图可以缩小到零,否则您无需干预。