Search code examples
objective-ccocoansslider

Detecting an NSSlider value change


How do I wire up an action programmatically to my NSSlider to detect when the value changes?

I'm looking for the Cocoa equivalent of a UISlider that would be done with the following code.

[myUISlider addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];

Solution

  • You'd use the following code:

    [slider setTarget:self];
    [slider setAction:@selector(valueChanged:)];
    

    That's it.

    NSSlider uses an NSSliderCell, which is a custom subclass of NSActionCell; I'd look over that documentation for the target action mechanism in Cocoa.