Cocoa 读取窗口大小调整事件

Cocoa 读取窗口大小调整事件,cocoa,event-handling,resize,nswindow,Cocoa,Event Handling,Resize,Nswindow,我想知道是否有人知道,当NSWindow正在调整大小时,我如何阅读? 让我们想象一下,我在一个空窗口中有一个按钮(按钮除外),然后用户从右下角调整窗口的大小,现在我应该使它在调整窗口大小时也调整按钮的大小。我知道如何调整按钮大小,我知道如何调整窗口大小,我知道很多东西,但我不知道当用户调整窗口大小时如何得到通知,有什么提示吗?您可以使用委派方法吗?在Xcode 4.3及更高版本上,使用,您可以在不编写任何代码的情况下获得非常复杂的布局。从.m文件写入的nib中唤醒 现在创建一个方法 当你下课的时

我想知道是否有人知道,当NSWindow正在调整大小时,我如何阅读?
让我们想象一下,我在一个空窗口中有一个按钮(按钮除外),然后用户从右下角调整窗口的大小,现在我应该使它在调整窗口大小时也调整按钮的大小。我知道如何调整按钮大小,我知道如何调整窗口大小,我知道很多东西,但我不知道当用户调整窗口大小时如何得到通知,有什么提示吗?

您可以使用委派方法吗?

在Xcode 4.3及更高版本上,使用,您可以在不编写任何代码的情况下获得非常复杂的布局。

从.m文件写入的nib中唤醒 现在创建一个方法 当你下课的时候,写
另外,举例永远是最好的答案,举一个很好的例子将使你的答案完全正确,我想这与NSWindowDelegate有关,但不确定如何使用它…:SDid您知道如何解析通知以获得宽度和高度吗?这没有多大帮助,也没有切中要害。对不起,我投了反对票,但你应该改变你的回答;autolayout是解决此问题的正确方法。他们询问的是一个调整大小的事件,最好用代码处理。在我看来,苹果在界面生成器方面还有很长的路要走。。。
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenResize) name:NSWindowDidResizeNotification object:nil];
(void)screenResize
{
    NSRect rect = Preloader.frame;
    rect = NSMakeRect(self.view.frame.origin.x+self.view.frame.size.width/2, self.view.frame.origin.y+self.view.frame.size.height/2, Preloader.frame.size.width, Preloader.frame.size.height);
    Preloader.frame = rect;
    NSLog(@"X = %f, Y = %f, W = %f, H= %f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
}
    [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidResizeNotification object:nil];