問題タブ [nspopupbuttoncell]
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 - NSOutlineViewに動的に入力されたNSPopUpButtonCellメニュー
私NSOutlineView
は2つの列を持つを使用しています。私dataSource
は、ファイルタイプを表すカスタムクラスのアイテムのツリーをアウトラインビューに提供します(つまり、UTIで初期化します)。最初の列は、ファイルタイプの表示名です(たとえば、「ソースコード」、「Interface BuilderNIBドキュメント」など)。2番目の列はNSPopUpButtonCell
、ユーザーが特定のドキュメントタイプのハンドラーを選択できるようにするためのものです(Xcodeの[ファイルタイプ]設定ペインを考えてみてください。ほとんどそこにいます)。
ツリー内の特定のアイテムのを生成NSMenu
し、UTIのLaunch Servicesデータベースエントリに基づいてオプションを入力し、関連するアプリケーションアイコンなどを追加することができます。実際、メニュー自体は素晴らしく機能し、を介して入力されますNSPopUpButtonCellWillPopUpNotification
。
問題は、私が思うに、メニューがポップアップされない-handlerName
ときのセルには、空の文字列、またはセルのデフォルトのテキストのいずれかが常に含まれていることです。前者は、アイテムの結果の場合(列に割り当てられた属性)は非nil
です。それ以外の場合は後者です。
さらに、私はインスタンスを手動で呼び出し-selectItem:
ていNSPopUpButtonCell
ますが、これは間違っているようです。対照的に、左側の列は単なるNSTextFieldCell
、すべてが正常に機能します(ただし、許可されている場合は、アイテムから値を読み取って表示するだけです)。
(免責事項:私はCocoa UIにかなり慣れていません。私は、Objective-Cや他の多くのプログラミング言語を知っていますが、Mac OS X UIの構築についてはあまり経験がないので、優しくしてください)。
cocoa - NSPopupButton の NSPopupButtonCell に直接アクセスする (Cocoa OSX)
これが通常は推奨されないことはわかっていますが、NSPopupButton の NSPopupButtonCell にアクセスする必要があります。これを行う方法はありますか?
objective-c - NSTableViewでのNSPopUpButtonCellの使用
こんにちは私はNSTableView内でNSPopUpButtonCellを使用しようとしています。基本的に、ポップアップで項目を選択すると、テーブルビューの列/行に表示されます。ポップアップセルの項目が押されると、「tableView:setObject:forTableColumn:row」を使用してデータソース内に保存し、テーブルがデータを要求すると、ポップアップセルの状態を取得して「tableView:objectValueForTableColumn:」に設定します。行:"。添付の私のコードを見つけてください。私は今完全に立ち往生しています。誰かがそれを理解できることを願っています。前もって感謝します。
これはコントローラーの内部にあります。
これは、datasource/delegateクラス内にあります。
cocoa - NSPopUpButton を初期状態に戻す
NSPopUpButtonWillPopUpNotification
ポップアップメニューが表示される前に変更するために、通知に登録します。新しいポップアップ メニューは、関連するアイコンを含む実行中のアプリケーション リストで構成されます。アプリケーションが選択されると、@selector
メソッドが呼び出されます。
選択が完了すると、選択したアプリケーション アイコンのイメージと選択したアプリケーションのテキストがボタンに表示されます。
ポップアップボタンをNSImageNameAddTemplate
画像のみで表示するにはどうすればよいですか?
後に新しいメニューを設定しようとしましたIBAction
が、ポップアップ ボタンがIBAction
後選択をトリガーしません。
ありがとう。
objective-c - NSTableViewの階層メニューを備えたNSPopUpButtonCell
1NSTableView
つの列にNSPopUpButtonCell
sが含まれているものがあります。この列はに割り当てられますIBOutlet
。私のアプリケーションのコントローラークラスは、その中にメニューを作成し、それをのdataCellにinit
割り当てます。これはです。NSTableColumn
NSPopUpButtonCell
メニューは次のようになります。
メニューをクリックしてitem1またはitem2を選択すると、データソースtableView:setObjectValue:forTableColumn:row:
が起動され、objectValueが0または1になり、選択したアイテムのインデックスになります。ただし、サブメニューの1つから項目を選択すると、取得するobjectValueは-1になります。選択したメニュー項目を取得するにはどうすればよいですか?
cocoa - NSPopupButtonCell バインディングの問題
Apple Master-Detail ポップアップ セルの例に似たものを実現しようとしていますが、バインディングが機能していないようです。
私のアプリでは、ユーザーがステージプレイを構築できます。のテーブルビューがありacts
ます。各アクトはのリストを持つことができるlines
ので、アクト テーブル ビューは行の 2 番目のテーブル ビューを駆動します (したがって、アクト 1 を選択すると、そのアクトの行で行テーブル ビューが更新されます)。
このセットアップはうまく機能しているようです。
もちろん、各行はキャラクターによって話されているため、私の文書オブジェクトにはcharacters
行為のリストと同様に行為のリストがあります。characters
私が欲しいのは、配列から取得した値を持つ行テーブルのポップアップ セルです。
だから私はそのAppleチュートリアルの手順に従いましたが、うまくいきません...
content
テーブル ビューの列をCharactersController.arrangedObjects
およびselectedObject
にバインドするとLinesController.arrangedObjects.character
、バインドが機能します (ポップアップから値を選択すると、基になるline
オブジェクトが新しい文字で更新されます)が、リストには<Character ...>
エントリが表示されます。
/li>contentValues
次に列をバインドするとCharactersController.arrangedObjects.name
、アプリを実行すると次のデバッグ エラーが発生します。selectedObject
バインディングを削除しても<Character...>
、リストに出力が表示されます。
contentValues
バインディングが壊れているようです。私は何を間違っていますか?
ここに私のバインディングがあります:
objective-c - ドロップダウンメニューとメニュー内の画像を持つNSTableView
はい、可能ですか:
- 2 つの列を持つテーブル (簡単なはずです)
- セルの1つに画像が必要で、ドロップダウンメニューから選択できる必要があります
-NSPopupButtonCellタイプである必要があることをグーグルで検索すると、その中に画像のみが必要で、テキストは
必要ありません。どうすればそれを行うことができますか? - 別の列は編集可能で、ユーザーはそれを入力できるはずです。
同じものを実装するための参照コードを取得できれば幸いです。
objective-c - NSTableViewDataSource を使用して NSPopUpButtonCell を設定する適切な方法
人が多くの車を持っていて、お気に入りの車を持っているとしましょう。行ごとに異なるテーブルビューに NSPopUpButtonCell を設定する正しい方法を説明しているドキュメントを見つけることができないようです。
たとえば、各人に 1 つの行があり、お気に入りの車の列には NSPopUpButtonCell があります。各行には異なるメニュー項目があります。1列目(カマロ、キャバリエ、F150) 2列目(745li、カマロ、タウンカー) etc...
cocoa - NSPopupButtonCellのNSTableColumnでバインドできるすべてのものは何ですか?
NSPopupButtonCellで満たされたNSTableColumnにバインドできるものはかなりあります。説明を探してみましたが、何も見つからなかったようです。
- 値選択の下でのバインディングのそれぞれは何ですか?たとえば、「コンテンツ」と「コンテンツ値」の違いは何ですか?
- とにかく「コンテンツオブジェクト」がグレー表示されるのはなぜですか?
- ポップアップボタン電池の代わりにテーブル列にバインドするのはなぜですか?TextCellを含むテーブル列で使用できるバインディングオプションも異なります。それはどのように達成されますか?
cocoa - 複数の場所で NSArrayController を再利用する
私のcoreDataモデルの1つに接続された単純なNSArrayControllerがあります。NSTableView 内のすべてのアイテムを問題なく簡単に表示できますが、NSPopUpButtonCell を含む NSTableColumn を同じコントローラーの ArrangeObjects にバインドしようとすると、厄介な例外がスローされます。(ただし、テーブルの外側にある NSPopupButton にバインドすると、すべてが正しく機能するように見えます)
これはなぜですか?複数の場所でアレイ コントローラを再利用できないのはなぜですか。