問題タブ [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.
objective-c - NSMenuItem のビュー (NSView サブクラスのインスタンス) がホバー時に強調表示されない
カスタムNSView
サブクラスを使用して一部のコンテンツを描画する必要がありますが、ユーザーがホバーしたときにハイライト表示されずNSMenu
、ユーザーがクリックしても閉じません。何か案は?
編集
を使用する-drawRect:
と[[self enclosingMenuItem] isHighlighted]
、ビューを強調表示して描画する必要があるかどうかを判断でき、そうする機会が与えられます。私が理解しなければならないのは、それを行う方法だけです。
cocoa - NSMenuItemのタイトルをメニューの幅に楕円化する
NSMenuItemのタイトルをプログラムで変更したいのですが、この変更によってメニューの幅が大きくならないように、楕円サイズにします。これどうやってするの?
cocoa - NSMenuItem番号バブル?
私はこのようなものを見ました:
メニュー項目の右側にあるメニューレットにあり、その方法がわかりません。
誰でも詳しく説明できますか?ありがとうございました!
cocoa - popUpContextMenuの最初の項目を選択する
私は非常にキーボードを多用するアプリケーションに取り組んでいます。キーボードの両手。マウスに手を入れないでください。
ユーザーは、キーボードを介してコンテキストメニューをポップアップし、項目を選択して、最後にEnterキーを押すことができます。
[NSMenu popUpContextMenu]
アイテムを強調表示せずにメニューを表示します。ユーザーは、最初の項目を強調表示するために、arrow_downを1回押す必要があります。
私の友人は、このメニューを使用するたびにarrow_downを押す必要があることに気づき、この手順を削除して、メニューがポップアップしたときに最初の項目が常に強調表示されるようにすることを提案しました。
カーボンハックが必要だと思いますか?
プログラムで最初の項目を強調表示するにはどうすればよいですか?
このコードを使用してメニューをポップアップします。
更新:popUpContextMenuの直後にアプリにarrow_downイベントを送信しようとしましたが、メニューが表示されているときにイベントが実行されません。(イベントはメニューがなくなった後に実行されます)。
cocoa - メニュー項目にプログラムでグリフ(キー、バックスペース、スペースなどを削除)を追加する
以前は、CarbonではSetMenuItemKeyGlyphを使用できました。10.6未満の代替手段は何ですか?文書化されていない善を使用する必要がありますか...?
ありがとう
cocoa - NSMenuItem に再描画を強制する方法は?
NSSearchField を使用したカスタム ビューを持つカスタム ステータス バー メニューを実装しています。検索結果に応じてメニュー項目の数を更新しています。メニュー項目の数は、NSSearchField のユーザー タイプとして変更されます。結果の数が同じままである場合、アイテムのタイトルが更新 (再描画) されないことに気付きました。それらを強制的に再描画するにはどうすればよいですか?
この関数では、メニューを再構築します。最初にすべてのアイテムを削除し、検索結果に従って新しいアイテムを作成します。
ありがとう、
ナバ
cocoa - NSMenuItem非表示のバインディングの問題
IBのNSUserDefaultsブール値にバインドしたNSMenuItemがあります。
変数bMenuHiddenがtrueの場合、NSMenuItemを非表示にします。その逆も同様です。これは、SnowLeopardでは期待どおりに機能します。ただし、Leopardは場合によっては苦労します。特に、bMenuHiddenの値に関係なく、アプリケーションを最初に起動したときにNSMenuItemが表示されます。プロパティリストエディタを使用して、値が存在し、ブール型であり、trueに設定されていることを確認しました。
確かに、私は「プレースホルダー」の値についてあまり経験がありませんが(Appleのドキュメントはこの問題について少し混乱しています)、すべてをデフォルトの「はい」に設定しました(これらの場合はメニューを非表示にします。申し訳ありませんより安全です):
私は何が間違っているのですか?
cocoa - NSMenuItem -setTarget: ターゲットを保持しますか?
NSMenuItem -setTarget: ターゲットを保持しますか、それとも明示的に保持する必要がありますか?
これについて矛盾するドキュメントを見てきました。NSInvocationのretainArgumentsは知っていますが、NSInvocationから継承されていないため、これがNSMenuItemに適用されるかどうかはわかりません。
cocoa - NSMenuItemのCocoaカスタムビュー
NSStatusBarのメニューにアクティブなマウントを表示する小さなアプリを開発しています。これまでのところ、次のようになります。
各メニュー項目の右側にイジェクトボタンを追加したい(Finderの左側のバーなど)。カスタムビューを作成し、setView:メソッドで設定する必要があることはわかっています。問題は、私がCocoaを初めて使用することであり、現在、カスタムビューのトピックに飛び込む方法がわかりません。実際、私はたくさんのプログラムを作成しましたが、これまでのところインターフェースを操作したことはありません:)。NSMenuItemにカスタムビューを追加するための優れたチュートリアルを持っている人はいますか?
マウントされたアイコンをデスクトップから隠すことができるので、このアプリはとても便利だと思います。問題は、ボリュームをアンマウントするために常にファインダーに戻らなければならないことです...
あなたが持っている助けやヒントをありがとう!
cocoa - NSMenuDelegate の質問
静的および動的に作成された NSMenuItem の両方を含む NSMenu があります (静的は Interface Builder で作成された NSMenuItem を意味し、動的は実行時に作成された NSMenuItem を意味します)。私は 10.6 で開発していますが、私のアプリケーションは 10.5 もサポートしています。
私のメニューは、サブメニューを含む多数の動的 NSMenuItem で構成されています。現在、NSMenuItem の parentItem: メソッド (10.6 専用) を使用して、サブメニュー項目がクリックされたときに親メニュー項目を取得しています。
編集:これは、手動のparentItem:メソッドを作成するための大雑把な試みですが、特に直感的ではありません。確かにもっと良い方法がありますか?
10.5 および 10.6 と互換性のある方法でこれを達成するための最善の方法は何ですか?