2
  • パスを使用してポップアップ メニューをアレイ コントローラにバインドすると、正常にselection.type動作します。
  • パスを使用してポップアップ メニューをドキュメント コントローラにバインドすると、currentDocument.arrayController.selection.type一方向にしか機能しません (選択内容の変更はポップアップ メニューに反映されません)。

フォーカスされているドキュメントに応じて、ポップアップ メニューを適切な配列コントローラにバインドすることで、インスペクタ ウィンドウのような機能を実現するにはどうすればよいでしょうか。

4

2 に答える 2

0

これに苦労している人のための(醜い)回避策は次のとおりです。選択が常にすべてのコンテンツを返すように NSArrayController をサブクラス化し、NSMutableSet で選択した項目を自分で追跡し、アレイコントローラーのコンテンツセットをそれにバインドします。(なんらかの理由で、アレイ コントローラのコンテンツ セットのバインドはペン先全体で機能しますが、ポップアップ メニューの選択インデックスのバインドは機能しません。)

于 2010-12-05T15:31:32.047 に答える
0

それらは同じアレイ コントローラですか、それともインスペクタ ウィンドウが別のアレイ コントローラを使用していて、たまたま同じアレイから供給されているのでしょうか?

2 つの別個のアレイ コントローラには、2 つの別個の選択肢があります。これを修正するには、究極の配列を所有する同じオブジェクトに選択用の NSIndexSet の 2 番目のプロパティを与え、両方の配列コントローラーselectedIndexesをそのプロパティにバインドします。

ポップアップ メニューの単一の (複数ではない) 選択に NSIndexSet を使用するのは少しばかげているように思えるかもしれませんが、アレイ コントローラーはそのような一般的なものです。

于 2010-10-23T05:52:15.927 に答える