Как использовать UIStepper
Я пытаюсь работать с 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]];
}
}
Ответы
Ответ 1
Вы должны игнорировать иваров. Они вам не помогут.
UIStepper
имеет свойство value
, которое вы можете запросить, чтобы выяснить, что такое текущее значение. Таким образом, ваш метод может быть просто:
- (IBAction)valueChanged:(UIStepper *)sender {
double value = [sender value];
[label setText:[NSString stringWithFormat:@"%d", (int)value]];
}
Ответ 2
UIStepper возвращает двойное значение, для быстрой версии выполните следующее:
@IBAction func stepperValue(sender: UIStepper) {
print("the stepper value is :\(sender.value)")
}
Ответ 3
Возьмите выход UIStepper:
@property (strong, nonatomic) IBOutlet UIStepper *stepper;
В методе viewDidLoad:
self.stepper.wraps=YES;
если ДА, значение обертывается из min ↔ max. default = NO
self.stepper.autorepeat=YES;
если ДА, нажмите и удерживайте несколько раз, изменяя значение. default = 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];
}
Ответ 4
Try
stepper.maximumValue = 10.0;
stepper.minimumValue = 0.0;