問題タブ [nsalert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - NSAlertを使用してフローティングウィンドウを作成できますか?
NSAlert
クラスを使用してアプリケーションモーダルアラートを表示するCocoaアプリケーションがあります。アラートウィンドウを他のすべてのアプリケーションのウィンドウの上に表示したいのですが。これはで実行できますNSAlert
か、それとも独自のウィンドウを実装する必要がありますか?
これが重要かどうかはわかりませんが、アプリケーションはLSUIElement
として実装されたエージェントアプリケーション(true)NSStatusItem
です。(ソースコードなど、アプリの詳細については、<こちら>をご覧ください。)
アラートを表示するコードは次のとおりです。
私はこれをrunModal
電話の前に置いてみました:
私もこれを試しました:
ただし、別のアプリケーションのウィンドウをクリックしても、ウィンドウが他のウィンドウの上に表示されることはありません。私runModal
はこれらの設定のどちらも尊重していないのではないかと思います。
cocoa - フルスクリーンのNSAlert
フルスクリーンアプリを作成していますが、NSAlertを作成したCGDisplayCaptureより上に表示する方法があるかどうか疑問に思っています。現在、NSAlertはディスプレイキャプチャの背後に表示されています。メインウィンドウは(setLevel :で調整した後)問題なく表示されていますが、NSAlertも機能していないようです。私がやろうとした:
しかし、それもうまくいかないようです。これを行うには何らかの方法があるはずだと思いますが、どこから始めればよいのかわかりません。
どんな助けでもいただければ幸いです。
cocoa - 実行中のアプリケーション全体でNSApplicationIconを変更しますか?
すべてのアラートに自動的に表示されるNSApplicationIconイメージを、アプリバンドルにあるものとは異なるものに調整したいと思います。
[NSApplication setApplicationIconImage:]を使用してドックアイコンを設定できることは知っていますが、これはドックにのみ影響し、他には何も影響しません。
この問題を回避できる場合があります。NSAlert*があり、setIcon:を呼び出して代替画像を表示できます。
残念ながら、NSApplicationIconを備えたNSImageViewを備えたペン先がたくさんあり、影響を与えたいので、アウトレットを作成し、アイコンを変更するためのコードを入力するのは面倒です。そして、BeginAlert ...タイプの呼び出し(NSAlertオブジェクトをいじくりまわすことはできません)で発生するアラートについては、完全に運が悪いです。
AppKitで使用されるNSApplicationIconをグローバルに(実行中のアプリケーションの存続期間中)オーバーライドして、アラートを100%置き換える(そしてコードを単純化する)ための合理的な方法を誰かが考えることができますか? ?
objective-c - 別のNSAlertのdidEndSelectorからNSAlertを呼び出す
別のNSAlertからの応答に基づいてNSAlertを起動する必要があります。ただし、最初のdidEndSelectorから呼び出そうとすると、あらゆる種類の厄介なことが起こります(ドキュメントウィンドウが消えたり、コンソールへの印刷の順序に関する警告が表示されたりします)。
何かご意見は?
objective-c - NSAlertにドックアイコンを継続的にバウンスさせることができません
ドックバウンスの停止に関するこの質問とは正反対の問題があるようです。
アプリでドックアイコンを継続的にバウンスさせることができません。
私もドックアイコンを繰り返しバウンスするのは嫌いですが、この場合、ユーザーが私のアプリを起動できないことに気付いていない場合、データの追跡に何時間もかかる可能性があります。
これが、アプリデリゲートapplicationWillFinishLaunching:メソッドに配置したコードです。
requestUserAttention行を削除してみました。
runModal呼び出しの直前、最初のものなど、さまざまな場所にrequestUserAttention行を配置してみました。
activateIgnoringOtherApps行を削除してみました。
私が何をしても、ドックアイコンは一度バウンドしてから停止します。
ユーザーは、私がアプリを前面に表示しているのを目にする可能性がありますが、適切なタイミングでクリックすると、アクティブなアプリケーションが重大なエラーメッセージを非表示にする可能性があります。
だから私は、ドックが隠されていても、何かが正しくないことを彼らが知っているようなものが欲しいのです。
私はこれをMacOSX10.5Leopardで構築しています。私が間違っていることについて何か考えはありますか?または、Leopardは継続的にバウンスするドックアイコンをサポートしなくなりましたか?
アップデート:
私はメソッド呼び出しをapplicationWillFinishLaunchingに入れていました:
それをapplicationDidFinishLaunching:に入れ、activateIgnoringOtherApps:呼び出しを削除するとすぐに、必要に応じて機能しました。
しかし、私の質問は、「アプリを前面に表示し、ドックアイコンをバウンスさせることはできますか?最初の回答からは、理由はわかりませんが、そうではないようです。
アップデート:
考えていなかったので、なぜかわかりませんでした。フォーカスを盗むということは、ドックが必要なものを手に入れることを意味するということが私に指摘されたので、それは完全に理にかなっています。
結論
ユーザーの注意を引く場合は、[NSApp activateIgnoringOtherApps:YES]を使用しないでください。
iphone - UIAlertViewは、1回の呼び出しではなく、呼び出しごとに3回ポップアップします
プログラムの2つの異なる部分で、NSAlertから奇妙な動作が発生しています。動作は次のとおりです。
- アラートが表示された後、自然に消えます。
- アラートが再度表示され、ユーザーによって却下されるまで、つまり通常の動作が続くまで続きます。
- アラートが再び表示されます。
この動作は、アラートを表示するメソッドが初めて呼び出されたときにのみ発生します。その後、正常に動作します。
動作が発生する部分の1つのコードは次のとおりです。
または、必要に応じて、もう少しコンテキストを追加します。
何か案は?ありがとう。
編集 - - - - -
これが発生する他の場所は次のとおりです。
コンテキストでは、最初のケースはAppDelegateにあり、2番目のケースは1番目のタブビューのビューコントローラーにあります。2番目の問題は、インターネットに接続されていないときにxmlが再ロードされるたびに発生します。最初のものは、関数が最初に呼び出されたときにのみ発生します。
編集 - - -
アラートを移動すると機能します。残念ながら、これは私が望む場所ではありません!
アップデート:
いくつかのNSLogエントリを設定しましたが[locMan stopUpdatingLocation]
、didUpdateToLocation関数を追加したにもかかわらず、複数回実行されていることがわかりました。
アラートビューが再度呼び出され、プログラムが最初のインスタンスをクリアして2番目のインスタンスに自動的に道を譲るために、自発的な消失が発生すると思います。
なぜ機能しないのかについてのアイデアは[locMan stopUpdatingLocation]
ありがたいですが、その間にlocationAlertの宣言を関数から移動し(グローバルであるため)、最初のlocate me関数に設定し、次の最初の関数を使用しますそれが呼ばれる時間:
そうすれば、それは完璧に機能します。
cocoa - シート表示時に使用できるメインメニュー
マウスでクリックされた、またはキーボードで呼び出されたメニュー項目にどのように反応しますか。例:CMD + Q?
cocoa - バックグラウンド プロセスで NSRunAlertPanel ダイアログを前面に表示
電話すれば
Cocoa のバックグラウンド プロセスから、ダイアログが前面に表示されず、代わりに他のウィンドウの後ろにとどまります。この投稿は、プロセスをフォアグラウンド プロセスに変換すると、ダイアログを前面に表示できることを示しています。ただし、プロセスをバックグラウンド プロセスにしておく場合、この動作を実現する方法はありますか?
cocoa - 閉じようとするとNSWindow表示アラート
NSWindowを閉じようとしたときにNSAlertを表示するにはどうすればよいですか?これもオンとオフを切り替える必要があります。
objective-c - Focus NSAlert アクセサリ アイテム
プロンプトのようなダイアログ ボックスを提供するアクセサリ アイテムとして NSTextField を使用する NSAlert アイテムがあります。私が抱えている唯一の問題は、アラートが実行されたときにテキスト フィールドがフォーカスされていないことです。NSAlert のファーストレスポンダを変更する方法を探してみましたが、何も見つかりませんでした。NSAlert でアクセサリ項目に簡単にフォーカスする方法はありますか?