UIStepper - 步进控件

来源:互联网 发布:网络工具软件 编辑:程序博客网 时间:2024/05/19 13:07

UIStepper - 步进控件

继承关系

  • NSObject ->UIResponder -> UIView ->UIControl -> UIStepper

概述

UIStepper界面包括一个“+”按钮和一个“-”按钮,通过这两个按钮来增加和减小值,通常用于对特定范围值的精确控制。
当用户点击按钮的时候,UIStepper会发送UIControlEventValueChanged消息,通过侦听这个消息,做出相应的处理。

image

外观属性示意图

可用下图所示的属性,自定义slider的外观。

这里写图片描述

设置UIStepper的值

既然UIStepper控制一个范围的值,那么它的属性就有最大值,最小值和当前值。

//最小值,默认为0stepper.minimumValue = 0//最大值,默认为100stepper.maximumValue = 20//当前值stepper.value = 10//步进值stepper.stepValue = 2      

设置外观颜色

可通过tintColor属性设置stepper的外观:包括按钮、分割线、边框线的颜色。

//改变控制器风格颜色stepper.tintColor = UIColor.darkGrayColor()

这里写图片描述

说明:这只是改变默认图像的颜色,如果是设置自定义的图像则无效。

设置按钮、背景、分割线图像

根据不同的状态设置不同的图像。

//设置左右按钮正常状态下的分割线图片stepper.setDividerImage(UIImage(named: "1"), forLeftSegmentState: .Normal, rightSegmentState: .Normal)//设置“+”按钮图片stepper.setIncrementImage(UIImage(named: "icon"), forState: UIControlState.Normal)//设置“-”按钮图片stepper.setDecrementImage(UIImage(named: "icon"), forState: UIControlState.Normal)

说明:注意给不同的状态设置不同的图像。

获取图像

可通过下面的方法获取特定状态下的图片

//获得背景图片func backgroundImageForState(_ state: UIControlState) -> UIImage?//获得“+”按钮图片func incrementImageForState(_ state: UIControlState) -> UIImage?//获得“-”按钮图片func decrementImageForState(_ state: UIControlState) -> UIImage?//获得分隔图片func dividerImageForLeftSegmentState(_ state: UIControlState,                   rightSegmentState state: UIControlState) -> UIImage?

示例

主要用法通过下面代码说明:

class UIStepperVC: UIViewController {    var stepper: UIStepper!    override func viewDidLoad() {        super.viewDidLoad()        //初始化,宽高设置无效        stepper = UIStepper(frame: CGRect(x: 100,y: 200,width: 10,height:5))        //最小值,默认为0        stepper.minimumValue = 0        //最大值,默认为100        stepper.maximumValue = 20        //步进值        stepper.stepValue = 2        //默认为true表示用户如果按照按钮不放,那么会持续的发送值改变的事件;如果为false,则是交互结束的时候发送一次事件。        stepper.continuous = true        //默认为true表示用户如果按照按钮不放,那么会持续改变stepper的值;如果为false,则用户点击一次改变一次。        stepper.autorepeat = false        //设置控制器是否循环(到达边界时,从头开始)        stepper.wraps = true        //改变控制器风格颜色        stepper.tintColor = UIColor.darkGrayColor()        //设置控制器背景颜色        stepper.setBackgroundImage(UIImage(named: "11"), forState: UIControlState.Normal)        stepper.setBackgroundImage(UIImage(named: "11"), forState: UIControlState.Selected)        //设置左右按钮正常状态下的分割线图片        stepper.setDividerImage(UIImage(named: "1"), forLeftSegmentState: .Normal, rightSegmentState: .Normal)        //设置“+”按钮图片        stepper.setIncrementImage(UIImage(named: "icon"), forState: UIControlState.Normal)        //设置“-”按钮图片        stepper.setDecrementImage(UIImage(named: "icon"), forState: UIControlState.Normal)        self.view.addSubview(stepper)        //添加针对值变化的处理事件        stepper.addTarget(self, action: #selector(valueChangeHandler(_:)), forControlEvents: UIControlEvents.ValueChanged)    }    func valueChangeHandler(sender: UIStepper) {        print(sender.value)    }
0 0
原创粉丝点击