2015-10-31 74 views
0

我有一小組對象,用戶應該從中選擇一個對象來使用單選按鈕組。這些對象已經綁定到數組控制器。有沒有辦法將數組控制器綁定到單選按鈕組,以便動態生成其他單選按鈕?如果可能的話,IB解決方案是首選。Xcode 7:將陣列控制器綁定到單選按鈕組

例項目:https://scriptreactor.com/collectionviewtest_radio.zip

目標是能夠選擇的項目的「a」,「B」,「C」中的一個,並且具有在視圖控制器可用的選擇。

回答

1

您可以通過在基於視圖的表格中的objectValueNSTableViewCell)和在集合視圖(NSCollectionViewItem)中的representedObject綁定按鈕狀態。

如果將NSArrayController配置爲爲這些父視圖生成單元格/項目,則視圖將維護集合中每個視圖的綁定目標的狀態objectValuerepresentedObject

因此,在IB中,您有一個通用子視圖,其中有一個單選按鈕,如果它位於集合視圖中,您應該能夠選擇「集合視圖項目」,其密鑰路徑爲representedObject.<whateverKeyPath>項目。或者,如果該按鈕是基於視圖的表格的表格視圖單元格的子視圖,則可以選擇「表格視圖單元格」,其關鍵路徑爲objectValue.<whateverKeyPath>

儘管最近OSX 10.10更新爲NSCollectionView,但quick start guide對如何在集合視圖子視圖中配置綁定有很好的說明。表視圖子視圖綁定類似,但您使用objectValue而不是representedObject作爲視圖內的屬性。

+0

我已經用NSCollectionView構建了一個組,並通過ArrayController和RepresentObject方法傳遞了不同的無線標籤。現在,我遇到了問題,我仍然需要綁定實際值(否則,選擇單選按鈕不會執行任何操作)。此外,單選按鈕並不像一個組 - 我可以一次選擇所有這些。 – Etan

+0

您可以將單選按鈕綁定到「selected」而非「representObject」。 '並且不允許多重選擇。我想也許你是針對已經擁有屬性的模型中的某個東西進行綁定,並允許多個選擇。我也不確定你需要單選按鈕,超出默認的選擇行爲,但我想你可以禁用它,使其顯示爲你想要的。 FWIW,舊的標準方式是不推薦使用的'NSMatrix。'令人討厭的是,他們沒有明確說明如何取代這種行爲。 – stevesliva

+1

我試過使用NSCollectionView,但似乎無法獲得所做選擇的綁定。最後,我想在我的ViewController中有一個選定的對象。示例項目:https://scriptreactor.com/collectionviewtest_radio.zip – Etan