除非我完全感到困惑,否则似乎runModalForWindow:
忽略nextKeyView
了 NSPanel 中字段的属性。
#define RUN_MODAL 1
#if RUN_MODAL
[ NSApp runModalForWindow: self.view.window ] ;
#else
[ self.view.window makeKeyAndOrderFront: nil ] ;
#endif
我已经尝试了两种方式,并且在使用正常时我肯定会得到正确的标签顺序,makeKeyAndOrderFront:
而在使用runModalForWindow:
.
我错过了什么吗?或者有人知道如何在运行模态时使其工作?
根据建议,我尝试了以下方法并得到了相同的结果:
#define RUN_MODAL 1
#if RUN_MODAL
#define USE_BEGINSHEET 1
#if USE_BEGINSHEET
[ NSApp beginSheet: self.view.window
modalForWindow: nil
modalDelegate: nil
didEndSelector: NULL
contextInfo: NULL ];
#else
[ NSApp runModalForWindow: self.view.window ] ;
#endif
#else
[ self.view.window makeKeyAndOrderFront: nil ] ;
#endif
请注意,“文档窗口”是nil
因为这是一个主要是背景无 UI 的应用程序,有时只是弹出一个登录对话框。