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

1. 初始化控件

UIStepper *_stepper = [[[UIStepper alloc] initWithFrame:CGRectMake(120, 20, 0, 0)] autorelease];

// 响应事件

[_stepper addTarget:self action:@selector(updateValue:) forControlEvents:UIControlEventValueChanged];

//设置最大值和最小值

[_stepper setMinimumValue:0];

[_stepper setMaximumValue:100];

// 控制值是否在[minimumValue, maximumValue]区间内循环,默认NO。

[_stepper setWraps:YES];

// 控制是否持续触发UIControlEventValueChanged事件。默认为YES,即当按住时每次值改变都触发一次UIControlEventValueChanged事件,否则只有在释放时触发UIControlEventValueChanged事件。

_stepper. continuous = YES;

// 每次递增或递减的值

[_stepper setStepValue:10];

// 控制是否在按住时自动持续递增或递减,默认YES;

_stepper.autorepeat = YES;

2. 属性说明

value: 当前所表示的值,默认为0.0;

minimumValue: 最小可以表示的值,默认0.0;

maximumValue: 最大可以表示的值,默认100.0;

stepValue: 每次递增或递减的值,默认为1.0;

3.如何判断加("+")减("-")

(1)通过设置一个    double  previousValue;    //  用来记录 Stepper.value 的上一次值

(2)在对想操作的对象进行操作后,将Stepper.value = 0

  1. #pragma mark - 设置UIStepper
  2. - (  void )createUIStepper{
  3. UIStepper  * stepperButton = [[UIStepper  alloc ]initWithFrame:CGRectMake(2 2 5 ,  5 0 0 ,  3 0 ,  1 0 )];
  4. [stepperButton   addTarget : self  action : @selector (controlStepperValue:)  forControlEvents :UIControlEventValueChanged];
  5. stepperButton  .maximumValue  =  1 0 0 .0 ;
  6. stepperButton  .minimumValue  =  0 .0 ;
  7. stepperButton  .value  = INITUISTEPPERVALUE;
  8. stepperButton  .stepValue  =  1 .0 ;
  9. stepperButton  .continuous  =  YES ;
  10. stepperButton  .wraps  =  NO ;
  11. stepperButton  .autorepeat  =  YES ;
  12. [  self .view  addSubview :stepperButton];
  13. [stepperButton   release ];
  14. }
  15. - (  void )controlStepperValue:( UIStepper  *)stepper{
  16. if  (_segment .selectedSegmentIndex  ==  0 ) {
  17. if  (stepper .value  > previousValue) {
  18. CGRect redRect = _redView  .frame ;
  19. redRect  .size .height  +=  5 ;
  20. _redView  .frame  = redRect;
  21. }   else  {
  22. CGRect redRect = _redView  .frame ;
  23. redRect  .size .height  -=  5 ;
  24. _redView  .frame  = redRect;
  25. }
  26. previousValue = stepper  .value ;
  27. }  else {
  28. if  (stepper .value  > previousValue) {
  29. CGRect redRect = _greenView  .frame ;
  30. redRect  .size .height  +=  5 ;
  31. _greenView  .frame  = redRect;
  32. }   else  {
  33. CGRect redRect = _greenView  .frame ;
  34. redRect  .size .height  -=  5 ;
  35. _greenView  .frame  = redRect;
  36. }
  37. previousValue = stepper  .value ;
  38. }
  39. }

//如下面例子

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view.

self.view.backgroundColor=[UIColor yellowColor];

UIStepper *stepper = [[UIStepper alloc] init];

stepper.tag = 10;

stepper.center = CGPointMake(160, 240);

stepper.minimumValue = 1; //设置最小值

stepper.maximumValue = 30; //设置最大值

stepper.stepValue = 2; //每次递增2

stepper.value = 15; //初始值

[stepper setWraps:YES]; //是否循环

[stepper addTarget:self action:@selector(doTest) forControlEvents:UIControlEventValueChanged];

[self.view addSubview:stepper];

[stepper release];

}

-(void)doTest

{

UIStepper *per = (UIStepper*)[self.view viewWithTag:10];

if (per.continuous)

{

NSLog(@"Y");

int a = per.value;  //获取当前值

NSLog(@"%d", a);

}

else

{

NSLog(@"N");

}

}

UIStepper的更多相关文章

  1. UI第九节——UIStepper

    - (void)viewDidLoad {    [super viewDidLoad];        // 实例化UIStepper,大小是固定的    UIStepper *stepper = ...

  2. UISegmentedControl和UIStepper的使用

    UISegmentedControl:分栏控件,常用的属性和方法是 1.tintColor:控制分栏控件的颜色风格 2.insertSegmentWithTitle(Image):插入分栏标题(图片) ...

  3. UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController

    //UIActivityIndicatorView //小菊花,加载 #import "ActivityIndicatorVC.h" @interface ActivityIndi ...

  4. UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl

    UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...

  5. UIStepper步进器 ——事件驱动型控件,(一个+和-按钮的)

    - (void)viewDidLoad {    [super viewDidLoad];        //步进器 固定的size (94*27), 事件驱动型控件    UIStepper *st ...

  6. iOS - UIStepper

    前言 NS_CLASS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED @interface UIStepper : UIControl @available(iOS 5.0 ...

  7. swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...

  8. UIStepper swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  9. iOS开发——UI篇Swift篇&UISwitch/UIStepper

    UISwitch/UIStepper override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleString / ...

随机推荐

  1. Struts2的处理结果(三)——动态配置结果

    Struts2的处理结果(三) --动态配置结果 1.使用表达式语法 示例: <struts> <constant name="struts.enable.DynamicM ...

  2. Monkey类、People类和主类 E。

    package jicheng; public class Monkey { private String s; public String getS() { return s; } public v ...

  3. XML文件解析DOM解析和SAX解析

    解析一个XML文档有哪些内容解析有:dom和sax两种dom:把整个XML文档放入内存,适合XML随机访问,占用内存资源大sax:事件驱动型的XML解析方式,顺序读取,不用一次装载整个文件,遇到标签会 ...

  4. 并行parallel和并发concurrent的区别

    http://stackoverflow.com/questions/1050222/concurrency-vs-parallelism-what-is-the-difference Concurr ...

  5. Examples For When-Validate-Item trigger In Oracle Forms

    The following example finds the commission plan in the COMMPLAN table, based on the current value of ...

  6. varchar(10)与nvarchar(10)有什么区别

    前者是非unicode型,存储字符按1个算(内部空间存储占1字节),存储汉字的话按2个算, 就是可以存10个字符或者5个汉字 后者是unicode型,存储什么都是按1个算(内部空间存储占2字节), 就 ...

  7. Jquery中css()方法获取边框长度

    1. JQuery中可以使用css()方法获取块元素的边框宽度,如下: $("divMode").css("border-left-width");//左边框长 ...

  8. 14 Using Indexes and Clusters

    do not build indexes unless necessary. 索引是非常占资源的To maintain optimal performance, drop indexes that a ...

  9. mysql 并发控制

    1.多个线程同时修改数据,存在数据不一致的情况,也就是并发控制的问题.2.mysql提供读锁和写锁,读锁之上可以再加读锁,不能加写锁,而写锁之上不能加任何锁.也就是说,读锁是共享的,写锁是排他的.3. ...

  10. JavaWeb学习总结(十二)--事务

    一.事务的介绍 1.1 什么是事务 银行转账!张三转10000块到李四的账户,这其实需要两条SQL语句: 给张三的账户减去10000元: 给李四的账户加上10000元. 如果在第一条SQL语句执行成功 ...