如何使用UIStepper

Mc.*_*ver 39 objective-c ios uistepper

我正在努力UIStepper增加或减少一个整数,但" - "和"+"都会增加整数!如何识别"+"和" - "按钮?

UIStepper头文件中有两个UIButtons:

UIButton *_plusButton;
UIButton *_minusButton;
Run Code Online (Sandbox Code Playgroud)

例如 :

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

}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ong 103

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

UIStepper有一个value可以查询找出当前值是什么性质.所以你的方法可能只是:

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

  [label setText:[NSString stringWithFormat:@"%d", (int)value]];
}
Run Code Online (Sandbox Code Playgroud)

  • @ Mc.Lover确保变量被正确输入或输入.你需要确保它明确地是一个`UIStepper*`.将其声明为"id"是导致警告的原因. (5认同)
  • @RembrandtQ.Einstein我个人会使用` - [sender isKindOfClass:[UIStepper class]]`.你永远不知道它实际上是哪个UIStepper类,它可能是一个集群类,它是UIStepper的子类. (2认同)