問題タブ [nsmenuitem]
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 - インターフェイスビルダーのバグ?
私は10.6システムで書いているが、10.5をターゲットにしているココアプログラムを持っています。
10.6 システムでは、正常に動作します。ただし、10.5 マシンで実行すると、次のようになります。
メニュー項目アクションの送信者は、NSMatrix ではなく、NSMenuItem になりました。メニュー項目アクション メソッドが、NSMatrix メソッド 'accessibilityIsIgnored' をその送信者に送信しようとしているようです。これはもはや有効ではありません。コードを変更してください。
これをオンラインで調べたところ、コードで「accessibilityIsIgnored」を呼び出していることを意味する場所があることがわかりました。
他の誰かがこれを見たことがありますか?
cocoa - NSMenuItem に NSSubmenu アイテムを追加する
NSMenu 項目のエントリの 1 つにドロップダウン メニューを追加したいと考えています。(例: Finder バーのバッテリーインジケーターをクリックすると、表示 -> アイコン、時間、パーセンテージのオプションがあります)。次に、次のコードを使用して MenuItem を追加します。
このドロップダウン リストにサブメニュー項目を追加するにはどうすればよいですか? ありがとう。
cocoa - NSMenuにフォーカスを設定する方法(キーイベントを取得するようにする)?
NSSearchFieldとメニュー項目を含むステータスメニューがあります。検索フィールドがアクティブで、ユーザーが上下の矢印を押したときに、メニュートラッキングを開始します。つまり、ユーザーはメニュー項目間で矢印キーを使用して移動できます。moveUpセレクターとmoveDownセレクターをキャッチできます。メニューをキーレスポンダーにするにはどうすればよいですか?
ありがとう、
ナバ
objective-c - 2 つの NSMenuItems の同期状態
私はNSMenus
同じものを2つ持っていNSMenuItems
ます。NSMenuItem
その中の1 つだけNSMenu
を選択する必要があります。(のようなものNSMatrix
)。そこでNSMenuItem
、それぞれを同じアクションに接続し、アイテムのインデックスにNSOnState
. メソッド内で、古いインデックスを に、NSOffState
新しいNSOnState
インデックスを に設定してから、古いインデックスを新しいインデックスに設定します。これは、2 つのうちの 1 つに問題なく機能しNSMenus
ます。しかし、両方を同期したいと思います。すべての NSMenu に IBOutlets を追加し、両方にアクセスできるため、メソッド内で状態を設定できますNSMenus
。しかし、これはちょっと冗長に感じます..注:インデックスをユーザーのデフォルトに保存することも計画しているので、おそらくNSUserDefaultsController
?によって達成できます。
cocoa - NSMenuでのカスタム/任意のコントロールの表示
NSMenu内にNSTextFieldまたはNSProgressIndicatorを表示するにはどうすればよいですか?Spotlightアイコンメニュー、またはほとんどのアプリケーションのヘルプメニューに似た何かをしたいと思っています。
cocoa - XIBからのNSViewサブクラスのロード
NSMenuItemへのカスタムビューを使用する必要があります。新しいビューXIBを作成し、そのビューをカスタマイズしました。そのビューをロードし、setView:メソッドを使用してNSMenuItemに設定するにはどうすればよいですか?
更新:解決策を見つけましたが、カスタムビューのメニュー項目がマウスオーバーで強調表示されなくなりました。この問題を解決するにはどうすればよいですか?
cocoa - どの NSTableView がコンテキスト メニューを開いたかを知る方法は?
同じコンテキスト メニューを持つ 5 つの NSTableView のインスタンスがあります。メニューがクリックされたというメッセージが表示されたら、それを送信したテーブルを知る必要があります。NSMenu のドキュメントを確認しましたが、メニューを開いたテーブルを確認する方法が見つからないようです..
NSTableView をサブクラス化し、menuForEvent でデリゲートにメッセージを送信することを考えていますが、それが最善の方法でしょうか?
アップデート:
ありがとう Joshua、私は 5 つのテーブルを使用して週 5 日のタスク プランを表示しています。各テーブルは曜日を表し、タスクを追加および削除するためのコンテキスト メニューを追加しました。したがって、ユーザーが平日に「タスクを追加」をクリックすると、どのタスクかを知る必要があります。テーブルビューをサブクラス化し、メニューが開いたときにデリゲートにメッセージを送信することで機能しました。このようにして、コントローラーは、どのテーブルが最後にメニューを呼び出したかを認識します。しかし、これを実現するのに最適な実装とは思えません。問題は UI にあるとおっしゃっていたようですが、どう思いますか? ホセ。
cocoa - ステータスバーアイテムのNSMenuをリバースエンジニアリングする
TapbotのPastebotSyncアプリケーションに見られるようなステータスバーアイテムのメニューを作成したいと思います。
メニューの上部と同じ高さのカスタム領域を実現する方法を知っている人はいますか?
私はそれを行うためのいくつかの潜在的な方法を試しました/考えました:
- ビューのある標準のNSMenuItem-メニューの上部と同じ高さではありません
- メニュー上部の領域にNSWindowを配置するためのハックっぽいコード-メニューを閉じたときにメニューがうまくフェードアウトしないため、あまり良くありません
- NSMenuを完全に放棄し、代わりにNSViewを使用する-これはまだ試していませんが、偽のボタンやNSMenuItemsとして機能するものを作成する必要はありません。
誰かより良いアイデアや提案がありますか?
ありがとう!
objective-c - NSMenuItem 時間とともに変化するタイトル。
タイトルが時間とともに変化する NSStatusItem を実装したいと思います。私の最終的な目標は、設定した画像の横にあるメニュー バーにカウントダウン タイマーを表示することです。多分私はこれについて間違った方法で進んでいます。しかし、タイマーを表す、時間の経過とともに絶えず変化する文字列が既にあります。作成したメニューレットに設定した画像の横にその文字列を配置する方法を見つけようとしています。
setTitle メソッドを複数回呼び出してみましたが、うまくいかないようです。オブジェクトの初期化の前に機能するのは、setTitle の最初の呼び出しだけです。その後、何も起こりません。タイマーを変更するたびに NSStatusItem オブジェクトを解放して再作成できると思いますが、それは非常に非効率的です。それが機能するかどうかさえわかりません。
また、setToolTip メソッドを使用してタイマーのカウントダウンを表示することも検討しました。しかし、それは setTitle メソッドと同じようです。一度設定すると、NSStatusItem オブジェクトを解放して新しいオブジェクトを作成するまで変更できません。
任意の提案をいただければ幸いです。
ありがとうございました
デイブ
cocoa - NSMenuItem のアニメーション プログレス バー
NSMenuItem
カスタム ビューにアニメーション プログレス バーを配置したいと考えています。これは Apple のMenuItemViewサンプルで示されていますが、アニメーション化されません (少なくとも 10.5 ではなく、サンプルは明らかに 10.4 のものです)。
ドキュメントのようsetNeedsDisplay:YES
にスケジュールされた を呼び出すタイマーを設定しようとしました。NSEventTrackingRunLoopMode
これは機能しますが、値を変更した場合の確定的な進行状況バーに対してのみ、メニューが初めて開いたときのみです。2 回目以降は、バーが 2 回再描画され、その後は固定されたままになります。不確定なプログレス バーの場合、バーバー ポール ストライプはアニメーション化されません。
編集:コードスニペット。呼び出しを追加しただけ
itemChanged
ですが、効果がないようです。テキストのみのアイテムの更新は正常に機能します。