Как использовать UIStepper - PullRequest
       22

Как использовать UIStepper

39 голосов
/ 15 октября 2011

Я пытаюсь работать с UIStepper для увеличения или уменьшения целого числа, но оба "-" и "+" увеличивают целое число!Как распознать кнопки «+» и «-»?

В заголовочном файле UIStepper есть два UIButton s:

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

}

Ответы [ 4 ]

103 голосов
/ 15 октября 2011

Вы должны игнорировать иваров.Они вам не помогут.

У UIStepper есть свойство value, к которому вы можете обратиться, чтобы выяснить текущее значение.Таким образом, ваш метод может быть просто:

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

  [label setText:[NSString stringWithFormat:@"%d", (int)value]];
}
3 голосов
/ 04 августа 2016

UIStepper возвращает значение Double, для быстрой версии сделайте это:

@IBAction func stepperValue(sender: UIStepper) {
    print("the stepper value is :\(sender.value)")
}
2 голосов
/ 04 августа 2016

Возьмите розетку UIStepper:

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

В методе viewDidLoad:

self.stepper.wraps=YES;

если ДА, значение переносится от min <-> max. по умолчанию = NO

 self.stepper.autorepeat=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];
}
0 голосов
/ 01 февраля 2012

Попробуйте

    stepper.maximumValue = 10.0;
    stepper.minimumValue = 0.0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...