我有一个NSWindow,我正在从.xib文件中的MenuBarItem向窗口中启动makeKeyAndOrderFront
-它很好用。
但是,我想在此窗口打开时运行一个方法,因此我将NSWindow子类化,并将窗口设置为子类。
当我执行快捷方式时,执行-(void)makeKeyWindow
时会打开一个窗口,但不是主窗口
当我执行-(void)makeMainWindow
时,NSLog不执行任何操作。
而且,当我覆盖makeKeyAndOrderFront
时,它根本不显示(按预期)。
任何帮助表示赞赏!谢谢!
最佳答案
当您覆盖-makeKeyAndOrderFront:
时,窗口停止显示的原因是您忽略了对super
的实现进行覆盖调用。
[Asker编辑]
要添加代码,这应该是这样:
- (void)makeKeyAndOrderFront:(id)sender {
// what to do when the window is shown:
[super makeKeyAndOrderFront:sender]; // key line, you MUST have this
}
关于objective-c - 在NSWindow打开时运行方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23789760/