作用于控制某个数的增、减。继承自UIControl基类,默认属于活动空间,可以与用户交互并激发对应的事件处理方法。
_stepper = [[UIStepper alloc] init];
//_stepper.frame = CGRectMake(10, 50, 100, 50);
//放中间
_stepper.center = self.view.center;
//添加图片
#//难道是我添加的图片太大了?反正就是整个覆盖上去了,尺寸不合适。不加了……
//[_stepper setDecrementImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
//[_stepper setIncrementImage:[UIImage imageNamed:@"minus"] forState:UIControlStateNormal];
//设置打开显示的值
_stepper.value = 5;
//stepValue 默认是10
//依次增加or减少你设置的字数
//_stepper.stepValue = 2;
//最大值 默认是100
_stepper.maximumValue = 10;
//最小值 默认是0
#//如果设置的最小值大于最大值,额网上说会报异常,我用11试了下,label显示是11,UIStepper点不动,所以???反正不对就是了 TAT
_stepper.minimumValue = 0;
//属性1. autorepeat
//长按不松手,数字会持续变化 默认是YES
#//这是bug吗?长按不动,一开始缓慢减少,进行到一半时,迅速减少到0
//_stepper.autorepeat = YES;
//属性2. wraps
//官方解释:当超过最大值,自动转头变成从最小值开始。反之亦然 默认是NO
//我理解的:循环往复,一直进行
//_stepper.wraps = YES;
//属性3. continuous
//当按住时每次值改变都触发一次改变(UIControlEventValueChanged)事件,否则只有在释放按钮时触发事件。 默认是YES
#//这个我不太懂
//_stepper.continuous = NO;
[_stepper addTarget:self action:@selector(Value:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_stepper];
_label = [[UILabel alloc] initWithFrame:CGRectMake(100, 50, 100, 50)];
//只是为了方便看居中显示,添加个背景图
_label.backgroundColor = [UIColor yellowColor];
_label.textAlignment = NSTextAlignmentCenter;
//是double类型,有小数点。使用.0,是只取第一位,显示整数部分
_label.text = [NSString stringWithFormat:@"%.0f",_stepper.value];
[self.view addSubview:_label];
//点击事件
-(void)Value:(UIStepper *)sender
{
_label.text = [NSString stringWithFormat:@"%.0f",_stepper.value];
}