設置包含字符串的NSArray並將(通過NSArrayController)內容數組連接到NSPopUpButton(此標準問題的一個很好的答案在這裏,NSPopUpButton + Bindings + Show All Option)很簡單。如何在NSPopUpButton的菜單中綁定基於視圖的NSMenuItem?
我有一個NSPopUpButton並希望菜單中的每個項目使用視圖進行繪製(從10.5開始,使用NSMenuItem的-setView:
方法可以添加視圖到菜單項)。
到目前爲止,我有以下方法。
1)的模型對象,它提供的意見,
@interface MenuViewsModel : NSObject
// Array of views for the pop up button to display
@property NSArray *previewViews;
@end
2)在IB我的陣列控制器添加到我的XIB和設置它的內容陣列模型的previewViews
。
3)接着我結合NSPopUpView到陣列控制器:
- 內容 - > arrayController.arrangedObjects
- 含量值 - > arrayController.arrangedObjects
彈出菜單將視圖的指針顯示爲字符串,而不是採用視圖和設置th e NSMenuItem的view
屬性。例如彈出按鈕顯示的項目,如,
<的NSView:0x61000014e910>
<的NSView:0x61000014e9c0>
[彈出式按鈕的綁定參考](https://developer.apple.com/library/mac/documentation/cocoa/reference/CocoaBindingsRef/BindingsText/NSPopUpButton.html)表示「內容值」綁定適用於與「內容」綁定中的對象對應的字符串數組。如果綁定將使用基於視圖的菜單,我認爲「內容值」綁定應該指向一個NSViews數組,而「內容」指向由這些視圖表示的一個對象數組。也就是說,這可能都是不可能的。 – stevesliva
是的,我放棄了! –