問題タブ [nspanel]
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 - Interface Builder で、ウィンドウのタイトル バーにカスタム ボタンを追加するにはどうすればよいですか?
私の OS X アプリでは、Interface Builder を使用して、次のようなウィンドウが表示されます。
これを実現するために、右側にボタンを追加したいと思います。
これが可能である場合、どうすればそれを行うことができますか?
objective-c - NSPanel の背景色が通常のように灰色にならないのはなぜですか?
アプリのメニューバーにアイコンがあります。NSPanel
アイコンをクリックするとAが表示されます。NSPanel
しかし、他の灰色の背景のように背景色がないのはなぜNSWindow
ですか? 私NSPanel
の背景は透明に見えます。私はファイルNSPanel
から来てい.xib
ます。次のように私のコード:
objective-c - NSWindowControllerの閉じるボタンでモーダルを停止するには?
ユーザーが NSWindowController の赤い閉じるボタンをクリックしたときにモーダルを停止したい。
NSWindowController には、「OK」と「キャンセル」ボタンがあります。
赤い閉じるボタンをクリックすると、ウィンドウが閉じてモーダルが止まりません。windowWillClose:関数を見つけました。
でも、
OKボタンをクリックしてもwindowWillClose:関数が呼び出され、runModalForWindow:関数は常にNSCancelButtonを返します。
モーダルの結果として、メンバー変数をmyWindowControllerに追加できます。
しかし、この問題を解決する別の一般的な方法があると思います。
楽な道を歩みたい。
objective-c - 「エージェント」アプリケーションをバックグラウンドで起動すると NSPanels が消える
StatusItem としてのみ表示されるエージェントを作成する試みの開始点として、Cocoa の「ステータス バー」チュートリアル ( http://cocoatutorial.grapewave.com/tag/status-bar/ ) を使用しました。
このアプリケーションにはメインの NSWindow オブジェクトがなく、関連付けられた 3 つの NSPanel があります。1 つの NSPanel は Application Preferences ウィンドウとして機能し、他の 2 つの NSPanel はユーザーに短いテキストを入力して OK ボタンを押すだけです。
設定パネルは、次のように NSMenuItem を介して起動されます。
XCode 内からアプリケーションをビルドして実行すると、すべて正常に動作するように見えます。ただし、Finder などから Xcode の外部からアプリケーションを実行すると、これらのウィンドウはまったく表示されません。
さらに、XCode 内から動作を複製することができます。設定パネルを表示してからクリックすると (たとえば、この Safari ウィンドウをクリックすると)、設定パネルが消えてしまい、二度と表示されなくなります。環境設定パネルを再表示するには、XCode 内からアプリケーションを物理的に停止してから再度実行する必要があります。
誰の助けにも感謝します!
objective-c - NSPanel の背景が黒く、テキストが見えない
ScreenSaverView
サブクラスの設定シートを表示させようとしています。Xcode との長い戦いの後、システム環境設定で [スクリーン セーバー オプション] をクリックすると (そして私のスクリーン セーバーが選択されていると) 設定シートが表示されるようになりました。 、テキストを非表示にします (画像を参照)。
これは、シートがNSPanel
orNSWindow
クラスであるかどうか、およびパネルが通常のパネル、ユーティリティ パネル、または HUD パネルであるかどうかに関係なく発生します。私ができる唯一のことは、パネルのアルファ値を変更することです。これにより、予想どおり、すべてがより透明になります (ただし、テキストはまだ表示されません)。興味深いことに、setOpaque
orsetBackgroundColor
でNSPanel
orを呼び出しNSWindow
ても効果はないようです。
xcode - NSWindow からモーダルにポップアップする NSPanel を作成する方法 (Cocoa プログラミング)
NSWindow でボタンをクリックした後に表示される NSPanel のようなものです。
私はたくさん探しましたが、簡単な例はありません。助けてくれてありがとう。
macos - 上からどうやって作るの?(ココアシート)
次の方法でシート(NSPanel)を実装しました。
}
シートが画面の中央に表示されます。それをメイン ウィンドウの上部に取り付けて、代わりに「スライド ダウン」効果で表示するにはどうすればよいですか?
前もって感謝します。
objective-c - ユーザーが閉じたときにNSPanelの割り当てを解除しないようにする方法
小さくてシンプルなステータスメニューアプリケーションを開発しています。
メニューがあり、ユーザーがそれをクリックすると、HUDウィンドウ(NSPanel)が表示されます。これが私がパネルを表示する方法です:
これが私がウィンドウを閉じる方法です:
これがイベントチェーンです。
- アプリが起動したら、ウィンドウを閉じます。
- 次に、ユーザー(私です:-))がメニュー項目をクリックして、パネルを表示します。
- 次に、xをクリックしてパネルを閉じます。
- 次に、メニュー項目をもう一度クリックすると、ウィンドウが再び表示されません。
おそらく割り当てが解除されたために再び表示されることはなく、弱いストレージを配置しました。そうしないと、__ unsafe_unretainedを使用すると、2回目の起動時にクラッシュします。
したがって、ユーザーがウィンドウをクリックしたときにウィンドウの割り当てを解除しないようにする方法があるかどうかを推測しています。
強力なストレージを試してみましたが、2回目の起動時にこのケースを再度閉じることができず、問題が発生します。
ユーザーがウィンドウを「殺す」ことなくウィンドウを表示できるメニューステータスアプリケーションはたくさんありますが、私は似たようなものを作成します。
objective-c - Cocoa: HUD パネルが閉じているときにアプリを閉じる
ユーザーがパネルの閉じるボタンをクリックしたときに、アプリ全体を閉じる必要があります。
ただし、ファイルセレクターパネルからもアプリを閉じます。
前もって感謝します。L.
cocoa - NSPanelでNSNonactivatingPanelMaskのオンとオフを切り替えることは可能ですか?
NSPanel
このユースケースは非定型であることを理解していますが、特定の状況でのみ、非アクティブ化する方法を見つけようとしています。
NSPanel
で初期化されている場合NSNonactivatingPanelMask
(またはパネルの「非アクティブ化」プロパティがInterface Builderでチェックされている場合)、コードの後半でスタイルマスクを変更しても、ウィンドウの動作には影響しません。
styleMask
プロパティを調べると、がオンになっていることがNSNonactivatingPanelMask
わかりますが、タイトルバーをクリックしてもアプリケーションはアクティブになります。
逆もまた真です。NSNonactivatingPanelMask
コードでマスクを初期化して([panel styleMask] & ~NSNonactivatingPanelMask)
後で設定しても、ウィンドウの動作には影響がないため、タイトルバーがクリックされたときにアプリケーションがアクティブ化されません。
ウィンドウにスタイルマスクを再解釈するように指示する方法など、これに対する簡単な回避策はありますか?そうでない場合、最適な代替手段は何ですか?