问题
Inside my .xib, I've placed an NSColorWell
inside an NSView
, and connected an IBAction
in the controller to the NSColorWell
's Sent Actions (via File's Owner). I figured I would respond to a click in my controller and send activate to bring up the NSColorPanel
.
But unlike other my controls, I'm not getting the IBAction
called. Clicking invokes a drag action on the color. I noticed this control doesn't derive from NSActionCell
(like all my other controls). What's the proper control that is supposed to be used to both display a color and invoke the NSColorWell
when clicked?
(note: this is Xcode/IB 3.2.x)
回答1:
You listed both osx
and ios
in the tags, but I'm guessing this is an OS X problem.
There is a "Bordered" checkbox in IB's Attributes Inspector for NSColorWell. This toggles between a button-style color well, which is what you're asking for, and a color well which you can only drag a color swatch from. Make sure that's checked and you'll get the action like you're expecting.
来源:https://stackoverflow.com/questions/20526577/nscolorwell-not-sending-action-on-click