2016-07-07 47 views
0

如何使用UIStepper作爲簡單的增量器/減壓器?在Swift中使用步進器作爲增量器/減壓器

我發現的唯一方法是設定每一次我發現一個動作,比較值1 UIStepper到1的值時,我抓住一個動作:

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

     sender.value = 1 
    } 

不要忘記到UIStepper的默認值設置爲1

+1

你是否正在回答你自己的問題?或者有什麼問題嗎? –

+0

我想知道是否有更好的解決方案。 – Jojo44

回答

0

試試這個

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

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

如果達到最大值,這將不起作用。例如:如果步進器的最大值是10,則值是8,我使用增加按鈕3次,只考慮2個第一個動作。第三個將被解釋爲減少。 – Jojo44

+0

如果sender.value> = sender.maximumValue返回 –

+0

但是,第三次嘗試將不起作用。這更好,因爲它不會被解釋爲減少,但在這種情況下,它不會被解釋。我認爲每次像我一樣重置步進值會更好。 – Jojo44

0

你可以試試這個,如果它適合你的需要

if sender.value > prevCnt { 

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

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