在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。
这几个控制属性只有在特殊情况下使用,一般使用默认值即可。
http://xcodev.com/wordpress/?p=297