@在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. ios kaifa

    弹窗提示 { ////ios 7 弹窗 // UIAlertView *alert1=[[UIAlertView alloc] // initWithTitle:@"tishi" ...

  2. c++中char*\wchar_t*\string\wstring之间的相互转换

    string U2A(const wstring& str)//Unicode字符转Ascii字符 { string strDes; if ( str.empty() ) goto __end ...

  3. VC如何让窗口半透明

    转载:http://blog.csdn.net/bichenggui/article/details/8291946 //加入WS_EX_LAYERED扩展属性 LONG styleValue = : ...

  4. iOS深入学习(UITableView:系列1-最基本的东西)

    这是UITableView博客系列的第一篇,使用xib和arc编码,主要讲解一些UITableView使用过程中简单的.但是又容易被忽略的东西,而且我会告诉读者,怎样在使用了之后就再也不会忘记. 操作 ...

  5. Python存取XML方法简介

    <?xml version="1.0" encoding="utf-8"?> <Schools> <School Name=&qu ...

  6. Windows下通过bat脚本实现自动上传文件到ftp服务器

    @Echo Off Echo open ip_address [port] >ftp.up Echo [username]>>ftp.up Echo [password]>&g ...

  7. window删除损坏无法打开的文件

    移动硬盘删除文件时提示“文件或目录损坏且无法读取”的解决方法-chkdsk 命令的巧用 新买一个移动硬盘,同学借去Copy一个游戏,拷来后发现数据包损坏,提示"文件或目录损坏且无法读取&qu ...

  8. DEV界面皮肤

    1.添加一个 2.添加引用: 3.添加一个SkinTools类 public class SkinTools { /// <summary> /// 在Program中调用 /// < ...

  9. Creating Object Library OLB in Oracle D2k Form

    With following steps you can create Object Library (OLB) in Oracle D2k Forms.Step - 1Create a form i ...

  10. [UVa1210]Sum of Consecutive Prime Numbers(前缀和,打表)

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...