ココアでは、他の1つのウィンドウに対してのみ、ウィンドウとしてをウィンドウとして表示することは可能ですか?(ではなく)特に、ユーザーに通知しているウィンドウとのみ対話することをユーザーに許可しないように警告を表示したいとします(もちろん、ユーザーは対処しています - アラートを閉じました)。ユーザは、呼び出しで指定されたウィンドウと対話できないようにしてアラートを表示しますが、他のウィンドウとのやりとりを継続できます。私は繰り返し述べます:この場合、アラートをシートとして提示することは容認できる解決策ではありません。他の1つのウィンドウに対してウィンドウをモーダルに表示できますか?
0
A
答えて
1
シートは、特にアラートのために1つのウィンドウを他のウィンドウに対してモーダルにするための標準的な方法です.Appleはこれを他の方法で行うための便利なAPIを提供していません。
- なぜシートを許容できない解決策と考えていますか?
- シートでできないこのモーダルウィンドウで何をしようとしていますか?
- 一般的なシナリオで一般的でないUIを使用してユーザーに提供される価値はありますか?
あなたは本当にそれが「ウィンドウモーダル」は何を意味するのか...あなたが既にやったようである考えるだけの問題で実装し、シートのAPIを使用せずに別のウィンドウをモーダルにしたい場合は、次の
...ウィンドウでのみ相互作用からユーザーを防ぐ警告...
だから、あなたが本当に何をする必要があるか、そのウィンドウとの相互作用からユーザーを防ぐことです。
- 無効にウィンドウ
- 内のすべてのコントロールは、あなたの警告が表示されているかどうかにウィンドウ注意を払うのいずれかのイベント処理カスタムビューを持って、その場合のイベントを無視:これを行うには多くの方法には、あります。
- レイヤ
- サブクラス
NSApplication
の下に到達ビューからクリックを防止し、ウィンドウ内のイベントを無視するsendEvent:
をオーバーライドし、すべてのウィンドウの内容以上のビュー(これは本当にやり過ぎと潜在的に問題である)
さらに、アラートをウィンドウに添付して一緒に移動し、Exposéで奇妙なことをしないようにする:-[NSWindow addChildWindow:ordered:]
を参照してください。
関連する問題
- 1. qtには1つのウィンドウしか表示されません。
- 2. intellij-ideaの新しいウィンドウで1つのファイルを表示できますか?
- 3. すべてのウィンドウの上にVB.Netウィンドウを表示します
- 4. ウィンドウ1のビデオをウィンドウ2に表示する方法は?
- 5. 他のウィンドウの上部にJOptionPaneを表示する(ドロップダウンメニュー付き)
- 6. 他のウィンドウがフォーカスしているときにポップアップコントロールを非表示にする
- 7. VSCode:1つのウィンドウで.htmlファイルを自動的に開き、もう1つのウィンドウで.tsを開きます
- 8. 他のすべてのウィンドウの上にダイアログを表示
- 9. (Python)1つのウィンドウに更新画像を表示する
- 10. 複数の3D散布図を1つのウィンドウに表示
- 11. mainActivityの上にいくつかのウィンドウをポップアップ表示できますか?
- 12. Bootstrap - モーダル・ウィンドウがモーダル・ウィンドウで正しく機能しない
- 13. WPFは1つのウィンドウから別のウィンドウにテキストを渡します
- 14. ウィンドウに1つのプログラムしか表示されないようにする
- 15. ShowDialog()はウィンドウをモーダルにしません
- 16. アプリ全体に対して1つのアクティビティインジケータを表示できますか?
- 17. Win32:非表示にした後にウィンドウを表示できませんか?
- 18. 一度に1つの情報ウィンドウしか開きません。
- 19. 計算機フォームの例の合計を新しいウィンドウに表示できますか?新しいウィンドウが開き、メインウィンドウにプッシュボタンが表示されますか?
- 20. 1つのXIBファイル(1つのウィンドウ)で複数のビューを表示
- 21. sympy plot_implicitを使用すると、どのように1つのウィンドウを表示できますか?
- 22. Xcodeは2つのウィンドウを並べて表示します
- 23. イメージファイルをブラウズしてkivyウィンドウに表示
- 24. 印刷中にウィンドウを表示できますか?
- 25. Tkinter - 1つのウィンドウを開き、別のウィンドウを閉じる
- 26. NSWindow - 常に現在のウィンドウの上部に表示される新しいウィンドウを表示します。
- 27. 「デスクトップを表示」/ウィンドウ+ Dでウィンドウを表示する
- 28. Xcode 8.2.1 UIビルダーと他のツールは1つのウィンドウにありますか?
- 29. モーダル・ビュー・コントローラーを1つのアニメーションで消して表示する
- 30. 別のウィンドウのコードビハインドから1つのウィンドウのプロパティにアクセスするには?