2016-07-07 17 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 
    }