UIStepper:如何知道用户点击了步进器的哪个button(减号或加号button)

我怎么可能知道用户点击了步进器的哪个button(减号或加号button)?

- (IBAction)buttonStepper:(id)sender { int stepperValue = self.outletStepper.value; self.label.text = [NSString stringWithFormat:@"%d", stepperValue]; } 

谢谢:3

您可以不用addTarget:action,而是观察steppers的value属性,并要求在更改字典中同时接收旧值和新值

 { UIStepper *stepper = ...; [stepper addObserver:self forKeyPath:@"value" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew context:0]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (object == stepper) { double oldValue = change[NSKeyValueChangeOldKey]; double newValue = change[NSKeyValueChangeNewKey]; double change = newValue - oldValue; } } 

或UIStepper的子类,并在重写的setValue中进行计算:

 - (void)viewDidLoad { [super viewDidLoad]; oldValue=stepperObj.value; } - (IBAction)stepperStep:(id)sender { if (stepperObj.value>oldValue) { oldValue=oldValue+1; NSLog(@"%d",oldValue); //your code do you want to perform on increment } else { oldValue=oldValue-1; NSLog(@"%d",oldValue); //your code do you want to perform on decrement } 

}

您必须在头文件中声明一个oldValue作为整数…