3
在我的.xib中,我在NSView
中放置了一個NSColorWell
,並將控制器中的IBAction
連接到NSColorWell
的發送操作(通過文件所有者)。我想我會響應我的控制器中的一個點擊併發送激活來調出NSColorPanel
。NSColorWell不會發送點擊操作?
但不像其他我的控件,我沒有得到IBAction
調用。單擊將調用顏色的拖動操作。我注意到這個控件並不是來自NSActionCell
(就像我所有的其他控件一樣)。什麼是適當的控制,應該用於顯示顏色和調用點擊時調用NSColorWell
?
(注:這是Xcode中/ IB 3.2.x中)
謝謝,尼克,你絕對正確!使用IB的人甚至都知道這是「邊界」複選框的功能?奇怪的是,這些邊界真的很厚,而且這種控制不支持「小」或「小」控制尺寸。現在我只需要弄清楚如何讓我的控件回調 - NSColorWell「action」不會被調用。我假設我需要獲取NSColorPanelColorDidChangeNotification? – SMGreenfield
您可能不想使用它,因爲它可能來自NSColorPanel的不同實例。 (例如,在任何NSTextView中右鍵單擊,您將可以進行字體>顯示顏色,調色板也會隨之出現。)相反,您應該將需要了解變更的對象綁定到NSColorWell,然後在-observeValueForKeyPath中作出反應:...。你也可以繼承該井,併爲其提供一個委託,當調用-setObjectValue:時會被調用,但這聽起來對於這種情況有點矯枉過正。 –
你當然可以監聽NSColorPanelColorDidChangeNotification,並檢查通知的對象屬性以與你的實例進行比較。這可能比我的其他兩個建議更容易。 :-) –