問題タブ [nspopupbutton]
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 - バインドされた NSPopupButton に「未選択」オプションを追加する
NSArrayController に裏打ちされたコア データにバインドされた NSPopupButton があります。NSPopupButton の選択も、コア データに裏打ちされた項目にバインドされます。バインディングはほとんど次のとおりです。
selectedObject には、オブジェクトを検索してそのオブジェクトを返す ID をルックアップするメソッドがあります。
オブジェクトを別の方法で設定するのは、次のように簡単です。
ほとんどの場合、オブジェクトは利用可能な contentValues リスト内のオブジェクトと一致します。ただし、選択したオブジェクトの ID が 0 の場合があります。その場合、「未選択」というオプションを使用可能なリストに表示したいと考えています。オブジェクト ID が 0 の場合、別のオブジェクト (または何も返さない) を簡単に送り返すことができます。
これは「選択なしのプレースホルダー」で処理できますが、ユーザーが他のアイテムのいずれかを選択するとすぐに、選択されていないプレースホルダーがリストから削除されます。
ユーザーがアイテムを選択できるようにしたい、またはアイテムを選択しないことを選択できるようにしたい (つまり、「未選択」に戻す)。選択が変更されるたびにコアデータから取得した配列をウォークすることによってプログラムで NSPopupMenu 全体を作成する以外に、ユーザーが常に利用できる選択されていない状態を表すメニュー項目をリストに挿入する方法はありますか?
「選択されていません」という名前を除いて、すべて 0 ベースの値を持つエンティティ オブジェクトをコア データ ストアに追加することを検討しました。ただし、これは物事を行う正しい方法のようには感じられず、実際には、実際にはデータとの関連性がない空のオブジェクトがストアにあるという別の問題が発生します。
いつものように、どんな助けも大歓迎です。
解決
まあ、私はHobbes the Tige
投稿されたものを正確にフォローしていませんでしたが、それは私が必要な場所に私を置いてくれました. IB にバインドする代わりに、選択の変更時にオブジェクトの配列を親配列または変更を開始するユーザー アクティビティに送信できるメソッドを作成することになりました。このメソッドは、NSPopupButton を適切なコア データ エンティティ情報で更新するだけで、一致するオブジェクトの selectedTag をバインドする IB を許可します。
これが方法です
name
明らかに、これは、説明フィールドuid
用の と一意の識別子用のを持つことに準拠して渡されるオブジェクトの配列に依存します。
ジョブ完了。:-)
cocoa - 日本語(Unicode)文字のフォントサイズを変更する
システムの言語に従って plist ファイルから読み取った英語または日本語の文字列を含む NSPopUpButton があります。言語が英語の場合、次のようなコードを使用してフォントサイズを変更できます-
しかし、そのような手法を使用して、ググって見つけた日本語のフォント名を設定して試しても、日本語のフォントサイズを変更できません。使うと日本語の文字が少し上に移動するので、それをしたいです。フォントサイズを小さくすることで、その上向きの動きを操作するつもりです。助けてくれてありがとう..
また
NSPopupButton のテキストを下に移動する方法はありますか?
objective-c - NSArrayController サブクラス fetchWithRequest の setFetchLimit
CoreData に裏打ちされた NSArrayController にバインドされた NSPopupButton があります。
NSArrayController をサブクラス化して、fetchLimit と SortDescriptor を設定しました。
問題は次のとおりです。
FetchLimit は、初期ロードにのみ適用されます。エントリがプログラムによって CoreData Store に追加されると、NSPopupButton は新しいエントリを反映して表示しますが、フェッチ制限は適用しません。また、merge: パラメーターを NO に設定しようとしましたが、これは更新/再フェッチには影響しないようです。
私は何かを逃していますか?
cocoa - NSPopUpButton の「ポップアップ」サイズを制限するにはどうすればよいですか?
NSPopUpButton で管理されている 200 を超えるアイテムを含む大きなリストがあります。クリックすると、リストが画面の上部または下部まで拡張されます。
最大で 20 個ほどのアイテムが一度に表示されるように、開くサイズを制限するにはどうすればよいですか?
cocoa - NSPopUpButton の NSMenuItem の短い表示形式を変更するにはどうすればよいですか?
項目の長いメニューを含む NSPopUpButton があります。そのうちのいくつかは非常に幅が広く、ボタンの閉じた幅よりも広いです。メニュー項目のタイトルの一部は次のようになります。
「あまり面白くない本当に長い名前の始まり (重要な情報)」
メニューを閉じると、次のように表示されます。
「本当に長い名前の始まり...」
次のように表示したい:
「本当の始まり…(重要な情報)」
NSPopUpButton がその省略記号を作成する方法がわかりません。NSMenuItem で呼び出されているセレクターはありますか? NSPopUpButton または NSMenu はそれを何らかの方法で処理しますか?
どのクラスをサブクラス化する必要があり、どのセレクターをオーバーライドまたは実装する必要がありますか?
どうもありがとう。
objective-c - NSPopUpButton アクションをオーバーライドする NSMenuItem アクション
興味深い動作に気付きました。これは私のやり方が間違っているのではないかと思います。NSPopUpButton の NSMenu にいくつかの NSMenuItems を持つ NSPopUpButton があります。ポップアップ ボタンをクリックしてアイテムを選択すると、NSPopUpButton にリンクしたアクションがトリガーされます。その場合、セレクターのメソッドが起動され、他のアクションは起動されません。私は両方が起こるべきだと思います。
また、これに関連して、メニュー項目にセレクターがあり、[popUpButton selectItemAtIndex:index] を呼び出した場合、適切なメニュー項目でセレクターを呼び出すべきではありませんか?
これは正しい動作ですか?
nspopupbutton - NSPopUpButton、NSComboBox同様のメニュー
すべてのセルにカスタムの背景を持つドロップダウンメニューを使用してメニューを作成しようとしています。最初にNSPopUpButtonを適応させようとしましたが、セルの背景画像を変更する方法が見つかりませんでした。setImageを使用すると、テキストが背景の右側にスライドします。次にNSComboBoxに立ち寄りましたが、矢印ボタンを変更する方法が見つかりませんでした。誰かが助けてアイデアを教えてもらえますか?次はカスタムコントローラーを作成しますが、すでに作成されているものを使用したいと思います。
objective-c - CoreData 整数属性の NSPopupButton の NSValueTransformer
いくつかのエンティティ属性 (整数) の可能な値を示す NSPopupButton を備えた CoreData/SQLite アプリがあります。データベース内の属性値が自動的に表示されます。ユーザーは別の値を割り当てることができる必要があるため、コードは起動時にすべての可能な値の配列を生成します。私の XIB には、ボタン用の NSObject と可能な値用の NSArrayController があります。バインディングが完了し、すべて正常に動作します。
もちろん、数字だけを使用することはユーザーにとって明確ではないため、ポップアップ ボタンの数字を単語に置き換える値変換プログラムを作成しました: 1=>赤、2=>緑、3=>青。
問題は、選択されたポップアップ項目だけが単語に置き換えられることです。また、エンティティ属性を変更するためにポップアップ ボタンで別の値を選択すると、それは保存されません。TableView で別のオブジェクトを選択してから変更したオブジェクトに戻ると、ポップアップが NoValue を示します。
理由がわかりません。ご協力ありがとうございました。
ヘッダー ファイル「ColorOption.h」のコードは次のとおりです。
実装ファイル「ColorOption.m」のコードは次のとおりです。
nsarray - NSPopUpButton を NSArray にバインドする
のバインディングで少し迷っていますNSPopUpButton
。ポップアップに表示したい項目の配列を保持するカスタム クラスがあります。これらの項目はNSManagedObject
のサブクラスであり、 に含まれていNSArray
ます。NSArrayController
プログラムで選択を変更するのに多くの問題があり、実装が雑然としているように感じるので、を使用したくありません。
問題は、配列をポップアップに適切にバインドする方法がわからないことです。私ができることは、ポップアップ メニューに配列項目をリストすることだけですが、タイトルはコア データ URI です。この方法を使用してタイトルを変更できると思いますdescription
が、これはあまりお勧めできません。
適切にバインドする方法NSArray
はありますか?NSPopUpButton
objective-c - キープレスに基づいて NSPopUpButton のアイテムの可視性を変更する
外部ファイルから大量のデータを読み取り、それをNSPopUpButton
Cocoa ユーザー インターフェイスに表示する必要があるアプリケーションをここに用意しました。ここでの問題は、読み込まれるデータには、「非表示」と見なされるかどうかを示すフラグが必要であるということです。
NSPopUpButton
データが非表示の場合は、として追加する必要がありますがNSMenuItem
、通常はメニューに表示されないようにhidden
フラグを に設定する必要があります。ユーザーがキーボードの「魔法のキー」 (この場合は通常 ALT キー) を押したままにすると、これらの隠しオブジェクトを再表示する必要があります。ユーザーが Alt キーを離すと、選択された可能性のあるものを除いて、自動的に再度非表示にする必要があります。別のキーを選択すると非表示になります。YES
NSPopUpButton
NSMenuItem
実際、私はこれを理解するのにかなりの時間を費やしています。
NSArrayController
と を使用してこれを行う簡単な方法があるかどうか疑問に思っていましNSPopUpButton
たが、これまでのところ、オブジェクトの隠しプロパティの管理に関しては、解決策に似たものを見つけることができませんでしたNSMenuItem
。
Cocoa Bindings を使用してこれを実現する方法を知っている人はいますか?