Mc.Lover Mc.Lover - 4 months ago 23
iOS Question

How to use UIStepper

I am trying to work with

UIStepper
to increment or decrement an integer,
but both "-" and "+" increase the integer! How can I recognize the "+" and "-" button?

In the
UIStepper
header file there are two
UIButton
s:

UIButton *_plusButton;
UIButton *_minusButton;


for example :

- (IBAction)changeValue:(id)sender
{
UIStepper *stepper = (UIStepper *) sender;

stepper.maximumValue = 10;
stepper.minimumValue = 0;
if (stepper)
{
integer++;
[label setText:[NSString stringWithFormat:@"%d",integer]];
}
else
{
integer--;
[label setText:[NSString stringWithFormat:@"%d",integer]];
}

}

Answer

You should ignore the ivars. They will not help you.

The UIStepper has a value property that you can query to figure out what the current value is. So your method could simply be:

- (IBAction)valueChanged:(UIStepper *)sender {
  double value = [sender value];

  [label setText:[NSString stringWithFormat:@"%d", (int)value]];
}