私が完全に混乱していない限り、NSPanel のフィールドrunModalForWindow:
のプロパティを無視しているようです。nextKeyView
#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 のないアプリであり、ログイン ダイアログがポップアップすることがあることに注意してください。