2016-07-07 20 views
0

Wie kann ich UIStepper als einfache Anhebung/Absenkung verwenden?Stepper als Vergrößerung/Verkleinerung in Swift verwenden

Der einzige Weg, die ich gefunden habe ist, den Wert des UIStepper-1 jedes Mal, wenn ich eine Aktion erkennen zu setzen und den Wert auf 1 vergleichen, wenn ich eine Aktion zu fangen:

@IBAction func onStepperValueChangedAction(sender: UIStepper) { 
     if sender.value > 1 { 
      increaseValue() 
     } else { 
      decreaseValue() 
     } 

     sender.value = 1 
    } 

nicht Vergessen den Standardwert des UIStepper auf 1

+1

Beantworten Sie Ihre eigene Frage? Oder gibt es da irgendwo eine Frage? –

+0

Ich würde gerne wissen, ob es eine bessere Lösung gibt. – Jojo44

Antwort

0

zu setzen versuchen Sie, diese

var previousValue = 0 
    @IBAction func onStepperValueChangedAction(sender: UIStepper) { 

      if sender.value > previousValue { 
       increaseValue() 
      } else { 
       decreaseValue() 
      } 
      previousValue = sender.value 
     } 
+0

Dies funktioniert nicht, wenn ich den Maximalwert erreiche. Beispiel: Wenn der maximale Wert des Steppers 10 ist, ist der Wert 8 und ich benutze die Erhöhungstaste 3 Mal, nur die 2 ersten Aktionen werden berücksichtigt. Der dritte wird als eine Abnahme interpretiert. – Jojo44

+0

wenn sender.value> = sender.maximumValue zurückgeben –

+0

Noch, der 3. Versuch wird nicht funktionieren. Es ist besser, weil es nicht als eine Abnahme interpretiert wird, aber in diesem Fall wird es überhaupt nicht interpretiert. Ich denke, es ist besser, den Stepper-Wert wie jedes Mal neu einzustellen. – Jojo44

0

Sie können dies versuchen, wenn sie Ihre Notwendigkeit passt

if sender.value > prevCnt { 

     increasedValue() 
     sender.maximumValue = sender.maximumValue + 1 
    } 
    else if prevCnt >= 1 { 

     decreasedValue() 
     sender.maximumValue = sender.maximumValue - 1 
    }