正在读取NSWindow调整大小事件



我想知道是否有人知道,当NSWindow被调整大小时,我如何阅读?让我们想象一下,我在一个空窗口中有一个按钮(除了按钮),然后用户从右下角调整窗口的大小,现在我应该这样做,以便当窗口被调整大小时按钮也会调整大小。我知道如何调整按钮大小,我知道如何调整窗口大小,我知道很多东西,但我不知道如何在用户调整窗口大小时获得通知,有什么建议吗?

可以使用‑windowDidResize:委托方法吗?

在你的.m文件的唤醒笔尖写

    [[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];

在Xcode 4.3及以后的版本中,使用自动布局为按钮添加约束,你可以得到非常复杂的布局,而无需编写任何代码

相关内容

  • 没有找到相关文章

最新更新