如何使用UIStepper

我正在尝试使用UIStepper来递增或递减整数,但“ – ”和“+”都会增加整数! 我怎样才能识别“+”和“ – ”button?

UIStepper头文件中有两个UIButton

 UIButton *_plusButton; UIButton *_minusButton; 

例如 :

 - (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]]; } } 

你应该忽略ivars。 他们不会帮助你。

UIStepper具有value属性,您可以查询以确定当前值是什么。 所以你的方法可能只是:

 - (IBAction)valueChanged:(UIStepper *)sender { double value = [sender value]; [label setText:[NSString stringWithFormat:@"%d", (int)value]]; } 

UIStepper返回Double值,对于swift版本这样做:

@IBAction func stepperValue(sender: UIStepper) { print("the stepper value is :\(sender.value)") }

以UIStepper的出口:

 @property (strong, nonatomic) IBOutlet UIStepper *stepper; 

在viewDidLoad方法中:

 self.stepper.wraps=YES; 

如果是,则值从min < – > max换行。 默认= NO

  self.stepper.autorepeat=YES; 

如果是,请反复按住变更值。 默认= YES

将初始值设置为0。

 NSUInteger value= self.stepper.value; self.label.text= [NSString stringWithFormat:@"%02lu",(unsigned long)value]; 

设置最大值

 self.stepper.maximumValue=50; 

采取UIStepper的行动:

 - (IBAction)valueDidChanged:(UIStepper *)sender { //Whenever the stepper value increase and decrease the sender.value fetch the curent value of stepper NSUInteger value= sender.value; self.label.text= [NSString stringWithFormat:@"%02lu",value]; } 

尝试

  stepper.maximumValue = 10.0; stepper.minimumValue = 0.0;