我有一个 NSWindow,我正在从 .xib 文件中的 MenuBarItem 向该窗口启动 makeKeyAndOrderFront
- 它有效,非常棒。
但是,我想在这个窗口打开时运行一个方法,所以我对 NSWindow 进行了子类化,并将窗口设置为该子类。
当我执行快捷方式时,窗口会打开,但不是主窗口,当执行 -(void)makeKeyWindow
当我执行 -(void)makeMainWindow
时,NSLog 不执行任何操作。
而且,当我重写 makeKeyAndOrderFront
时,它根本不显示(如预期)。
任何帮助表示赞赏!谢谢!
最佳答案
当您覆盖 -makeKeyAndOrderFront:
时,窗口停止显示的原因是您忽略了对 super
的实现进行覆盖调用。
[提问者编辑]
要添加代码,应如下所示:
- (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/