实时获取窗口高度/宽度

时间:2010-04-08 23:33:15

标签: objective-c cocoa

在调整大小时可以获得窗口宽度或高度吗?不是在调整大小的开始或结束时(viewWillStartLiveResize,viewDidEndLiveResize),而是实时的?

2 个答案:

答案 0 :(得分:1)

是。将对象设置为窗口的委托,并实现以下任一委托方法:

- (NSSize)windowWillResize:(NSWindow *)window toSize:(NSSize)proposedFrameSize;
- (void)windowDidResize:(NSNotification *)notification;

如果你想让一些其他窗口与窗口大小保持同步,那么-windowDidResize:方法就足够了,因为它会在每次小尺寸更改时调用,而不是在调整大小操作结束时调用。

答案 1 :(得分:0)

如果窗口的内容视图随窗口大小调整,并且您愿意将该视图设置为自定义NSView子类,则可以覆盖-[NSView resizeSubviewsWithOldSize:]并在那里检查self.bounds