在iOS5中新增了一個數字輸入控件UIStepper,它可以遞進式輸入數量。UIStepper繼承自UIControl,它主要的事件是UIControlEventValueChanged,每當它的值改變了就會觸發這個事件。它的顯示效果如下:
它主要有下面幾個屬性
- value 當前所表示的值,默認0.0
- minimumValue 最小可以表示的值,默認0.0
- maximumValue 最大可以表示的值,默認100.0
- stepValue 每次遞增或遞減的值,默認1.0
設置以上幾個值,一般就可以很方便的使用了。
|
1
2
3
4
5
6
7
|
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.
這幾個控制屬性只有在特殊情況下使用,一般使用默認值即可
