UIStepper

在iOS5中增加了一个UIStepper的新控件,UIStepper可以连续增加或减少一个数值。控件的外观是两个水平并排的按钮构成,一个显示为“+”,一个显示为“-”。如下图所示:



该控件一个有趣的特征是当用户按住“+”“-”按钮时,根据按住的时间长度,控件值的数字也以不同的数字改变。按住的时间越长,数值改变的越快。可以为UIStepper设定一个数值范围,比如0-99。

下面是UIStepper应用范例代码:

01 // Create a label to show the value in the stepper
02 label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, 100, 30)];   
03 [label setTextColor:[UIColor whiteColor]];
04 [label setBackgroundColor:[UIColor clearColor]];
05 [label setTextAlignment:UITextAlignmentLeft];
06 [label setText: @"Quantity:"];
07 [[self view] addSubview:label];
08  
09 // Frame defines location, size values are ignored
10 UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(120, 20, 0, 0)];   
11  
12 // Set action target and action for a particular value changed event
13 [stepper addTarget:self action:@selector(stepperPressed:) forControlEvents:UIControlEventValueChanged];
14  
15 // Set min and max
16 [stepper setMinimumValue:0];
17 [stepper setMaximumValue:99];
18  
19 // Value wraps around from minimum to maximum
20 [stepper setWraps:YES];
21  
22 // If continuos (default), changes are sent for each change in stepper,
23 // otherwise, change event occurs once user lets up on button
24 [stepper setContinuous:NO];
25  
26 // To change the increment value for each step
27 // (default is 1)
28 [stepper setStepValue:10];


UIStepper是一个类似UISwitch的控件,但是左右两边是一个加号和一个减号
这是iOS 5 新增的控件

文档中的一些属性和方法:

配置 Stepper

  •   continuous  属性  BOOL类型,默认YES,YES时表示当用户交互时会立刻发送ValueChange事件,NO则是只有等用户交互
  • 结束时才发送ValueChange事件
  •   autorepeat  属性  BOOL类型,默认YES,YES时表示按住加号或减号不松手,数字会持续变化
  •   wraps  属性 BOOL类型,默认NO,YES时当value加的超过maximumValue,value将变成minimumValue的值,当减的
  • 比minimumValue还小,则value变成maximum的值。如果设成NO,这value不会超过最大和最小值
  •   minimumValue  属性 Double型 默认为0,最小值,当设置值大于或等于maximumValue时会报一个NSInvalidArgumentException异常
  •   maximumValue  属性 Double型 默认为100,是Stepper的最大值,当设置小于或等于minimumValue时会报一个
  • NSInvalidArgumentException异常
  •   stepValue  属性  Double型 默认为1,Stepper的增量或者步数(例如stepValue 是10,则点一下加就加10,减也是减10),
  • 必须大于0,否则会报一个NSInvalidArgumentException异常
  • 访问 Stepper的值
  •   value  属性 Double型 默认是0,上限是maximumValue 下限是minimumValue,当数值改变时,会发送
  • UIControlValueEventChanged给目标
  • 定制化外观
  •   tintColor  属性 UIColor型,默认是nil,iOS 6新增

例子:
testStepper.stepValue = 10;
testStepper.minimumValue = 0;
testStepper.maximumValue = 55;
testStepper.value = 10;
testStepper.tintColor = [UIColor redColor];
testStepper.wraps = YES;
一开始就一直点加,则值的变化为 20 30 40 50 55
一开始就一直点减,则值的变化为 0 
当到达上限或下限时,且wraps没有设置成YES,则相应的加或减的按钮会disable
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值