問題タブ [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.

0 投票する
1 に答える
43 参照

objective-c - シートが表示されているときにマウスイベントを防ぐ方法は?

シートが表示されているときに がアクティブなままであることがわかりました。このコードを使用しましNSViewた。rightMouseUp

禁止したいのですがrightMouseUpどうすればいいですか?

0 投票する
0 に答える
48 参照

objective-c - NPanel が別のオブジェクトとして開かれないようにする方法

私はNSCollectionView10で構成されており、オブジェクトライブラリからNSButtonsドラッグしました。NSpanelボタンをクリックするNSpanelと表示されます。次のボタンをクリックすると、最後に生成されたNSpanelが閉じられ、別のNSpanelが開かれました。私の問題は、NSpanel が生成されたことです。2 番目のボタンをクリックすると、別の NPanel が表示され、前のものが閉じられませんでした。

0 投票する
1 に答える
477 参照

objective-c - NSWindowController を使用した NSPanel が xcode に表示されるが、アーカイブされたアプリには表示されない

PreferencePanelリリースおよびデバッグモードでXcodeから起動した場合にのみ表示されるという問題があります。しかし、アプリケーションのアーカイブされた .app を起動すると、ボタンをクリックしても何も起こりませんPreferences。Xcode から起動した場合、設定パネルを開いて閉じ、数秒待ってからそのコマンドを再試行しても、何も起こらず、パネルが表示されません。私は「PreferenceController」と呼ばれるクラスを使用しており、メソッドでNSWindowControllernibファイルを. xib のファイル所有者は " " に設定され、window プロパティは xib のパネルに接続されます。-(id)initreturn [super initWithWindowNibName:@"Preferences"];PreferenceController

私の AppController には-(IBAction)showPreferencePanel:(id)sender、パネルを開くメソッドがあります。

AppControllerでインスタンス化されますmainMenu.xib

ご協力いただきありがとうございます。

0 投票する
1 に答える
915 参照

objective-c - 「Non-Activating」モードの NSPanel が常に正しいカーソルを表示するとは限らない

NSPanelデフォルトの の代わりに を使用して、XCode 4.6 で単純な Cocoa アプリケーションを作成しましたNSWindow。Non-Activating オプションを有効にしてアプリケーションを起動すると、すべて正常に動作します。

パネルは他のすべてのものの前に表示され、マウス カーソルがパネルの端に置かれると、通常の矢印カーソルから適切なサイズ変更カーソルに変わるため、ユーザーはパネルのサイズを変更できることがわかります。

Safari や Finder などの他のアプリケーションをクリックしない限り、これは問題なく機能します。

一度別のアプリケーションにフォーカスを移した瞬間から、好きなだけ自分のパネルをクリックしてホバーすることができます。カーソルのスタイルはもう変更されません。カーソルは常に矢印のままで、通常の動作に戻ることはできません。

パネルは引き続き選択可能で前面にあり、移動およびサイズ変更を行うことができますが、マウス カーソルは常に矢印のままです。その後、次のようなものを使用して手動で変更することさえできません[[NSCursor crosshairCursor] set]

NSPanelそのため、別のアプリケーションにフォーカスを移した場合でも、通常の自動変更カーソル スタイルを維持する方法を見つける必要があります。

私はすでにカスタマイズされた -class を使用しようとしました。ここではand メソッドNSPanelを上書きして、 YES を返すようにしましたが、Panel を作成しても...canBecomeKeyWindowcanBecomeMainWindowKeyWindowMainWindow

...カーソルの問題は解決しません。

誰かがここで私を助けることができれば素晴らしいでしょう:)

PS .: 私のプロジェクトでは、Base SDK と Deployment Target が 10.8 に設定されています。


そのため、説明されている問題はパネルのウィンドウ状態とは関係がないことがわかりました。key に設定されているか main に設定されているかは問題ではなく、カーソルの問題 (常に矢印のまま) は、アプリケーションのアクティブ化状態に関連しています。

パネルを所有するアプリケーションがアクティブである限り、すべて正常に動作しますが、別のアプリケーションをクリックすると、" non-activating" オプションが有効になっているため、パネルをクリックしてもアプリケーションが非アクティブになり、再びアクティブになりません。

問題は、non activating実行中のアプリケーションを非アクティブ化せずに、他のすべての前に表示して操作するステータスバー画面キャプチャアプリを作成しているため、「」オプションが必要なことです。私はカーソルの問題を解決することができました

[NSApp activateIgnoringOtherApps];

しかし、Safari で実行されているフルスクリーン ビデオのスクリーンショットを撮ると、Safari が非アクティブになり、ビデオが最小化されてしまいます。これは望ましくありません。

0 投票する
3 に答える
812 参照

objective-c - Cocoa で NSTimer を使用してカスタム NSPanel を閉じる

カスタム NSPanel を作成し、Sheet で開始することを示します。閉じるボタンがありません。10秒後にNSTimerでこのパネルを閉じたいです。どうやってやるの?

closePanel () 関数:

0 投票する
1 に答える
180 参照

objective-c - NSPanel の上にアラート?

私はNSPanelを持っています。次のコードを使用します。

この Panel には、NSTextField を含むビューがあります。NSTextField テキストの条件によっては、NSPanel ビューの上にアラートを表示する必要があります。アラートをスローするコード:

どうすればこれを達成できますか?