iOS中的UIStepper数值加减器用法指南

所属分类: 软件编程 / IOS 阅读数: 1539
收藏 0 赞 0 分享

UIStepper可以连续增加或减少一个数值。控件的外观是两个水平并排的按钮构成,一个显示为“+”,一个显示为“-”。
该控件的一个有趣的特征是当用户按住“+”,“-”按钮时,根据按住的时间长度,空间值的数字也以不同的数字改变。按住的时间越长,数值改变的越快。可以为UIStepper设定一个数值范围,比如0-99. 它的显示效果如下:

1. 属性说明
value: 当前所表示的值,默认为0.0;
minimumValue: 最小可以表示的值,默认0.0;
maximumValue: 最大可以表示的值,默认100.0;
stepValue: 每次递增或递减的值,默认为1.0;

2.如何判断加("+")减("-")
(1)通过设置一个   double* previousValue;   *// *用来记录Stepper.value*的上一次值
(2)在对想操作的对象进行操作后,将Stepper.value = 0   

复制代码 代码如下:

#pragma mark - 设置UIStepper
- (void)createUIStepper{

    UIStepper * stepperButton = [[UIStepper alloc]initWithFrame:CGRectMake(225, 500, 30, 10)];
    [stepperButton addTarget:self action:@selector(controlStepperValue:) forControlEvents:UIControlEventValueChanged];
    stepperButton.maximumValue = 100.0;
    stepperButton.minimumValue = 0.0;
    stepperButton.value = INITUISTEPPERVALUE;
    stepperButton.stepValue = 1.0;
    stepperButton.continuous = YES;
    stepperButton.wraps = NO;
    stepperButton.autorepeat = YES;
    [self.view addSubview:stepperButton];
    [stepperButton release];

}


复制代码 代码如下:

- (void)controlStepperValue:(UIStepper *)stepper{

    if (_segment.selectedSegmentIndex == 0) {
        if (stepper.value > previousValue) {
            CGRect redRect = _redView.frame;
            redRect.size.height += 5;
            _redView.frame = redRect;
        } else {

            CGRect redRect = _redView.frame;
            redRect.size.height -= 5;
            _redView.frame = redRect;
        }
        previousValue = stepper.value;
    }else{
        if (stepper.value > previousValue) {
            CGRect redRect = _greenView.frame;
            redRect.size.height += 5;
            _greenView.frame = redRect;
        } else {

            CGRect redRect = _greenView.frame;
            redRect.size.height -= 5;
            _greenView.frame = redRect;
        }
        previousValue = stepper.value;
    }

}

3.基本用法整理
初始化控件

复制代码 代码如下:

UIStepper * step = [[UIStepper alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

设置控制器值是否连续触发变化
复制代码 代码如下:

@property(nonatomic,getter=isContinuous) BOOL continuous;

若设置为YES,则长按会连续触发变化,若设置为NO,只有在按击结束后,才会触发。
设置长按是否一直触发变化
复制代码 代码如下:

@property(nonatomic) BOOL autorepeat;

若设置为YES,则长按值会一直改变,若设置为NO,则一次点击只会改变一次值
设置控制器的值是否循环(到达边界后,重头开始,默认为NO)
复制代码 代码如下:

@property(nonatomic) BOOL wraps;

设置控制器的值
复制代码 代码如下:

@property(nonatomic) double value;

设置控制器的最大值和最小值
复制代码 代码如下:

@property(nonatomic) double minimumValue;//默认为0
@property(nonatomic) double maximumValue; //默认为100

设置控制器的步长
复制代码 代码如下:

@property(nonatomic) double stepValue;

设置控制器风格颜色
复制代码 代码如下:

@property(nonatomic,retain) UIColor *tintColor;

设置控制器背景图片
复制代码 代码如下:

- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state;

获取背景图片
复制代码 代码如下:

- (UIImage*)backgroundImageForState:(UIControlState)state;

通过左右按钮的状态设置分割线的图片
复制代码 代码如下:

- (void)setDividerImage:(UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;

获取分割线图片
复制代码 代码如下:

- (UIImage*)dividerImageForLeftSegmentState:(UIControlState)state rightSegmentState:(UIControlState)state;

设置和获取加号按钮的图片
复制代码 代码如下:

- (void)setIncrementImage:(UIImage *)image forState:(UIControlState)state;
- (UIImage *)incrementImageForState:(UIControlState)state;

设置和获取减号按钮的图片
复制代码 代码如下:

- (void)setDecrementImage:(UIImage *)image forState:(UIControlState)state;
- (UIImage *)decrementImageForState:(UIControlState)state;

更多精彩内容其他人还在看

iOS UISearchController的使用方法

本文主要介绍了iOS UISearchController的使用方法,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

IOS 中 new 和 alloc init 的对比

这篇文章主要介绍了IOS 中 new 和 alloc init 的区别的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS 字符串常用处理详细介绍

这篇文章主要介绍了IOS 字符串常用处理详细介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS开发支付宝支付成功返回字符串的处理操作

很多朋友在做ios开发项目时,遇到支付宝支付成功返回字符串的处理操作不知道该怎么办,今天小编给大家分享实例代码,需要的朋友参考下
收藏 0 赞 0 分享

IOS CoreLocation实现系统自带定位的方法

本篇文章主要介绍了IOS Core Location实现系统自带定位的方法,非常具有实用价值,需要的朋友可以参考下。
收藏 0 赞 0 分享

iOS之点击通知栏的通知进入程序的触发事件

本文主要介绍了iOS中点击通知栏的通知进入程序的触发事件的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

IOS  Swift基础之switch用法详解

这篇文章主要介绍了IOS Swift基础之switch用法详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS React等Title不显示问题解决办法

这篇文章主要介绍了IOS React等Title不显示问题解决办法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS UIScrollView滚动视图/无限循环滚动/自动滚动的实例代码

这篇文章主要介绍了iOS UIScrollView滚动视图/无限循环滚动/自动滚动,需要的朋友可以参考下
收藏 0 赞 0 分享

简单实现iOS指纹解锁(TouchID)

这篇文章主要介绍了如何简单实现iOS指纹解锁,验证TouchID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多