如何检测可可中选择的最后一个NSColorWell颜色

时间:2014-03-03 17:26:22

标签: objective-c cocoa appkit nscolorwell

有没有办法检测最后选择的NSColorWell颜色?

到目前为止,我已经以编程方式创建了具有动作和目标的NSColorWell,那么多少次我改变了那个方法被调用那么多时间的颜色。所以我想确定最后选择的NSColorWell颜色。

1 个答案:

答案 0 :(得分:0)

NSObject 上的 NSColorPanelResponderMethod 类别(非正式协议)实现了一个名为 changeColor:的方法。因此,您可以在类中覆盖此方法以检测 NSColorWell 的颜色更改。

@interface MyClass:NSObject 
 @property(nonatomic, strong) NSColor *lastColor;
@end

@implementation MyClass
  - (void)colorChanged:(id)sender{
    NSLog(@"Last color %@", lastColor);
    NSColor *newColor = [sender color];
    NSLog(@"NSColorWell changed color %@", [sender color]);
  }
@end

如果您希望能够跟踪最后一个字体,那么您将创建一个属性,并且每次字体更改时,都会将新字体分配给该属性。这样您就可以跟踪最后一种字体。