標籤:
在iOS5中新增了一個數字輸入控制項UIStepper,它可以遞進式輸入數量。UIStepper繼承自UIControl,它主要的事件是UIControlEventValueChanged,每當它的值改變了就會觸發這個事件。它的顯示效果如下:
它主要有下面幾個屬性
- value 當前所表示的值,預設0.0
- minimumValue 最小可以表示的值,預設0.0
- maximumValue 最大可以表示的值,預設100.0
- stepValue 每次遞增或遞減的值,預設1.0
設定以上幾個值,一般就可以很方便的使用了。
| 1234567 |
UIStepper *stepper = [[UIStepper alloc] init];stepper.minimumValue = 2;stepper.maximumValue = 5;stepper.stepValue = 2;stepper.value = 3;stepper.center = CGPointMake(160, 240);[stepper addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged]; |
注意:上面我設定stepValue是2,當前value是3,最小值是2。但如果我們點擊“-”,這是value會變成2,而不是1。即每次改變都是value±stepValue,然後將最終的值限制在[minimumValue,maximumValue]區間內。
另外還有幾個控制屬性:
- continuous 控制是否持續觸發UIControlEventValueChanged事件。預設YES,即當按住時每次值改變都觸發一次UIControlEventValueChanged事件,否則只有在釋放按鈕時觸發UIControlEventValueChanged事件。
- autorepeat 控制是否在按住是自動持續遞增或遞減。預設YES。
- wraps 控制值是否在[minimumValue,maximumValue]區間內迴圈。預設NO,達到最大或者最小時,按鈕disable.
這幾個控制屬性只有在特殊情況下使用,一般使用預設值即可
IOS之UIStepper控制項詳解