3

我正在嘗試開發一個NSPopUpButton,它將用作某些數據源的過濾器,比如說填充表格的NSArrayControllerNSPopUpButton +綁定+顯示全部選項

我可以將NSArrayController從菜單綁定到選擇關鍵路徑,以便數據得到適當的過濾,沒有問題。

棘手的部分是,我想這個NSPopUpButton的內容依賴於一個NSArrayController使用綁定,但我想添加一個「顯示所有」菜單項,或至少一些不是來自核心數據並執行一些特殊的操作,而不是使用綁定和核心數據過濾表。

我正在嘗試執行類似於查找器在過濾器欄中使用的NSPopUpButton,菜單的最後一項執行特殊操作,而其他項僅過濾結果。

據我所知,這種方法是忘記綁定,並以編程方式做所有事情,因爲我相信沒有辦法搞砸NSArrayController和綁定來添加這個不依賴於核心數據的自定義菜單項,但因爲我還沒有發現Apple Docs上的任何內容,所以我想分享我的想法......任何想法?

回答

12

聽起來像是你在尋找NSContentPlacementTagBindingOption。

您編輯附加到了NSPopupButton的NSMenu如下

setup of the pop-up menu button's menu

那麼你編輯你想與您的陣列控制器的內容替換上NSMenuItem的設置使之具有相關的有意義的標籤它

settings for the item that is going to be dynamically replaced by bindings

你然後指定標籤上的NSPopupButton的綁定的內容放置標籤值的內容/內容*綁定。

bindings for the pop-up button itself

+1

這節省了這麼多的代碼! – 2014-07-04 14:19:00