UIStepper

来源:互联网 发布:约翰马尔科维奇 知乎 编辑:程序博客网 时间:2024/06/16 22:02

UIStepper - 步进控件

继承关系

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

概述

这里写图片描述

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

  • 设置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)}
原创粉丝点击