根據Big Nerd Ranch的書「OS X的可可編程」,使用NSMatrix的舊方法將被棄用。 新方法是使用NSButton
的幾個實例,樣式設置爲Radio
。 來自同一無線電組的每個NSButton
應分配給一個共享的@IBAction
方法。並使用tag
屬性來區分它們在這個動作方法中。作爲單選按鈕組的NSButton組
的問題是:從單選按鈕組檢查當前如何
NSButton
得到通知另一個按鈕被點擊,和當前按鈕應在其狀態更改爲未選中?
我知道關於問題:How to create NSRadioButton Group in Xcode 7 OSX但我的問題不是關於如何創建它。問題是消息如何到達其他NSButton視圖?由於Action在Window控制器類上執行,而不是在視圖上執行。
圖片是遵循:
--> NSButton sends @IBAction ViewController.radioButtonPressed Window -| --> NSButton sends @IBAction ViewController.radioButtonPressed
但是,如何在它們之間這兩個實例交換狀態信息? 看來,他們和ViewController之間只有一種方法通信?一個按鈕如何知道另一個按鈕被按下?
創建一個變量來保持當前狀態(標記或引用按鈕)。如果狀態更改將表示當前狀態的按鈕設置爲OFF,請將發件人設置爲ON並將發件人保持爲當前狀態 – vadian
感謝您的幫助。我創建的單選按鈕效果很好,但我想了解如何在引擎蓋下工作。兩個單獨的視圖如何獲取有關其狀態的信息,而它們只能將消息發送到viewController類。 –