@在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. java初始化笔记

    构造器初始化static块与非static块区别:对象创建时都做块的初始化,非static块仅在实例创建时初始化,static块在类被第一次加载时初始化数组初始化注意点:1.数组定义时最好在定义的同时 ...

  2. jquery之hide()用法详解

    注:  以下函数用法和hide()类似  [参数类型完全一样] toggle() hide() show() slideToggle() slideUp() slideDown() fadeToggl ...

  3. PigSPS: a database for pig SNPs and signatures of positive selection

    URL: http://www.ibiomedical.net/pigsps/ keywords: pig, boar, SNP, positive selection, database, db, ...

  4. PCB表面处理工艺

    PCB表面处理最基本的目的是保证良好的可焊性或电性能.由于自然界的铜在空气中倾向于以氧化物的形式存在,不大可能长期保持为原铜,因此需要对铜进行其他处理. 1.热风整平(喷锡) 热风整平又名热风焊料整平 ...

  5. nyoj 1058部分和问题(DFS)

    部分和问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 给定整数a1.a2........an,判断是否可以从中选出若干数,使它们的和恰好为K.   输入 首先, ...

  6. mouseover和mouseenter的区别

    mouseover和mouseenter都是鼠标事件. mouseover事件,当鼠标穿过被选元素的时候,若此元素有子元素,子元素也会被触发此事件.即是使用mouseover事件,会多次触发此元素. ...

  7. iOS - AFNetworking 网络请求

    前言 在 iOS 开发中,一般情况下,简单的向某个 Web 站点简单的页面提交请求并获取服务器的响应,用 Xcode 自带的 NSURLConnection 是能胜任的.但是,在绝大部分下我们所需要访 ...

  8. Jsoup:解决java.net.UnknownHostException的问题

    Jsoup:解决java.net.UnknownHostException的问题 时间 2013-06-20 11:23:08  CSDN博客 原文  http://blog.csdn.net/xyw ...

  9. mysql 权限控制

    1.mysql的权限是,从某处来的用户对某对象的权限. 2.mysql的权限采用白名单策略,指定用户能做什么,没有指定的都不能做. 3.权限校验分成两个步骤: a.能不能连接,检查从哪里来,用户名和密 ...

  10. xml配置文件详解

    1:bean的基本属性配置: <!-- id是bean的标识符,必须唯一,如果没有配置id,name默认为标识符 如果配置了id,有配置了name,那么name为别名 name可以设置多个别名, ...