一、UIView与UIWindow的关系
就像大家看见的一样,UIView就是表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为iOS中几乎所有的可视控件都是UIView的子类。
UIView继承自UIResponder,它是负责显示的画布,如果说把window比作画框的话。我们就是不断地在画框上移除、更换或者叠加画布,或者在画布上叠加其他画布,大小当然由绘画者来决定了。有了画布,我们就可以在上面任意施为了。很多简单的东西我会把库里面的内容贴出来,如果东西太多贴出来就不太好,朋友们自己去库文件里面看吧。这个类在UIView.h里面哦。
UIView的功能 :
- 管理矩形区域里的内容
- 处理矩形区域中的事件
- 子视图的管理
- 还能实现动画
UIView的子类也具有这些功能
窗口UIWindow是一个视图的子类。
窗口的主要功能:
一是提供一个区域来显示视图,二是将事件分发给视图。一个应用通常只有一个窗口,但也不例外。window对象有以下职责:它包含了应用程序的可视化的内容·它为视图和其他应用程序对象在触摸事件中提供了关键性的作用·它与视图控制器一起协作来呈现数据。
二、UIView的创建和属性
1.UIView的创建
定义一个全局的UIView对象
var myView:UIView?
2.UIView的属性方法
frame 是CGRect frame的origin是相对于父视图的左上角原点(0,0)的位置,改变视图的frame会改变center
center 是CGPoint 指的就是整个视图的中心点,改变视图的center也会改变frame
bounds 是CGRect 是告诉子视图本视图的原点位置(通俗的说就是,子视图的frame的origin与父视图的bounds的origin的差,就是子视图相对于父视图左上角的位置,如果结果为负,则子视图在父视图外)
通过addSubview:这个方法添加子类,不管谁添加它,只要越晚添加,视图就在越上层
let view1 = UIView(frame: CGRect(x: 10,y: 50, 200,height: 200)) view1.center = CGPoint(x: 100, y: 100)
一个 UIView 里面可以包含许多的 Subview(其他的 UIView),而这些 Subview 彼此之间是有所谓的阶层关系,这有点类似绘图软体中图层的概念,下面代码演示了几个在管理图层(Subview)上常用的方法。
//新增和移除SubView myView?.removeFromSuperview() myView?.addSubview(label)
在UIView中将Subview往前或是往后移动一个图层,往前移动会覆盖住较后层的 Subview,而往后移动则会被较上层的Subview所覆盖。
//将Subview往前移动一个图层(与它的前一个图层对调位置) self.view.bringSubviewToFront(myView!) //将Subview往后移动一个图层(与它的后一个图层对调位置) self.view.sendSubviewToBack(myView!)
//交换两个图层 self.view.exchangeSubviewAtIndex(index1, withSubviewAtIndex: index2)
使用Subview的变数名称取得它在UIView中的索引值(Index )。
//获取index let index = self.view.subviews.indexOf(subView名称)
替Subview加上NSInteger 的标记(Tag)好让之后它们分辨彼此。
//加上标记 myView?.tag = 1 //通过标记得到view 返回值为UIView let otherView = UIView().viewWithTag(1)
取得UIView中所有的Subview,呼叫此方法会传回一个 NSArray,并以由后往前的顺序列出这些 Subview。
UIView().subviews
3.UIView中要注意的那些事儿
在iOS应用上实现UI就需要子类化UIView,也就是要重写UIView的init方法。注意:两种语言有所区别。
Objective-C只需在UIView子类中重写必要的init方法。要初始化一个UIView框架,就要重写initWithFrame:框架,如下所示:
@implementation SubUIView -(id) initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self != nil) { // ... } return self; } @end
class SubUIView: UIView { override init(frame: CGRect) { super.init(frame: frame) // ... } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
当然,UIView的属性和用法还有很多很多,在以后的UI资料中还会多次介绍,希望大家关注哦。
三、UIWindow的创建和属性
1.UIWindow的创建
定义一个全局的UIWindow变量
var window:UIWindow?
2.UIWindow的属性介绍
UIWindow() 创建一个UIWindow对象 参数为 这个UIWindow的frame,下面我细说
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
使被使用对象的主窗口显示到屏幕的最前端,注意:! 的意思是允许window==nil 时候运行,但是window==nil程序运行崩溃 !
self.window!.makeKeyAndVisible()
设置窗口的背景颜色
self.window!.backgroundColor = UIColor.redColor();
一、UILabel(文本标签)
UILabel主要是用来显示简短的文本。常用属性如下:
//创建一个文本标签并设置它的frame let label = UILabel(frame: CGRect(x:10, y:50, 200, height:200)) //设置文本标签的字体颜色为黑色 label.textColor = UIColor.black //设置文本标签的文字 label.text = "我是萌萌哒" //设置文本标签的文本显示位置为居中,还可以居左(Left)、居右(Right)、合乎情理的(Justified)、自然的(Natural) label.textAlignment = .center //自适应字体大小 label.adjustsFontSizeToFitWidth = true //设置字体大小 label.font = UIFont.boldSystemFont(ofSize: 12) //文本行数,为0就是自动换行 label.numberOfLines = 0 label.lineBreakMode = .byCharWrapping //lineBreakMode属性的枚举下面会详细介绍 //是否能和用户交互 label.isUserInteractionEnabled=true //文字是否可变,默认值是true label.isEnabled=true; //设置阴影颜色和偏移量 label.shadowColor = UIColor.blue label.shadowOffset = CGSize(0.5, height:0.5) //设置是否高亮和高亮颜色 label.isHighlighted = true label.highlightedTextColor = UIColor.red
typedef enum {
UILineBreakModeWordWrap = 0,
UILineBreakModeCharacterWrap,//swift中已经没有这个属性了
UILineBreakModeClip,//截去多余部分
UILineBreakModeHeadTruncation,//截去头部
UILineBreakModeTailTruncation,//截去尾部
UILineBreakModeMiddleTruncation,//截去中间
} UILineBreakMode;
二、UIControl-所有具有事件处理控件的父类
控件主要响应的3中事件
- 基于触摸的事件
- 基于值的事件
- 基于编辑的事件
在UIControl中常用的事件有:UIControlEventTouchUpInside 如按钮的点击事件、UIControlEventValueChanged 如进度条拖动。1.属性
-
enable
控件默认是启动的。要禁用控件,可以将enable设置成false,这将导致控件忽略任何触摸事件。被禁用后,控件还可以用不同的方式显示自己,比如变成灰色不可用。虽然是由控件的子类完成的,这个属性却存在于UIControl中。
control.enabled = true
selected
当用户选中控件时,UIControl类会将其selected属性设置为YES。子类有时使用这个属性来让控件选择自身,或者来表现不同的行为方式。
control.selected = true
contentVerticalAlignment
控件如何在垂直方向上布置自身的内容。默认是将内容顶端对其,对于文本字段,可能会改成UIControlContentVerticalAlignmentCenter。
control.contentVerticalAlignment = .bottom control.contentVerticalAlignment = .center control.contentVerticalAlignment = .fill control.contentVerticalAlignment = .top
contentHorizontalAlignment
水平对齐方式
control.contentHorizontalAlignment = .bottom control.contentHorizontalAlignment = .center control.contentHorizontalAlignment = .fill control.contentHorizontalAlignment = .top
-
2.事件通知
- UIControlEventTouchDown
单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。 - UIControlEventTouchDownRepeat
多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。 - UIControlEventTouchDragInside
当一次触摸在控件窗口内拖动时。 - UIControlEventTouchDragOutside
当一次触摸在控件窗口之外拖动时。 - UIControlEventTouchDragEnter
当一次触摸从控件窗口之外拖动到内部时。 - UIControlEventTouchDragExit
当一次触摸从控件窗口内部拖动到外部时。 - UIControlEventTouchUpInside
所有在控件之内触摸抬起事件。 - UIControlEventTouchUpOutside
所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。 - UIControlEventTouchCancel
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。 - UIControlEventTouchChanged
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。 - UIControlEventEditingDidBegin
当文本控件中开始编辑时发送通知。 - UIControlEventEditingChanged
当文本控件中的文本被改变时发送通知。 - UIControlEventEditingDidEnd
当文本控件中编辑结束时发送通知。 - UIControlEventEditingDidOnExit
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。 - UIControlEventAlltouchEvents
通知所有触摸事件。 - UIControlEventAllEditingEvents
通知所有关于文本编辑的事件。 - UIControlEventAllEvents
通知所有事件。
UIButton-按钮
按钮的创建
let button:UIButton = UIButton(type: UIButtonType.contactAdd) button.frame = CGRect(x:100, y:100, 100, height:100) //设置按钮的背景颜色 button.backgroundColor = UIColor.cyan //设置按钮的背景图片 button.setBackgroundImage(UIImage(named:"background"),for:.normal) //对于Custom定制类型按钮,代码可简化为: let button1 = UIButton(frame: CGRect(x:100, y:100, 100, height:100)) //设置按钮文字 button.setTitle("点我一下", for: UIControlState.normal) //设置button的点击事件 button.addTarget(self, action: #selector(ViewController.clickButton(_:)), for: UIControlEvents.TouchUpInside) self.view.addSubview(button)
按钮有下面四种类型:
- UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
- UIButtonType.DetailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
- UIButtonType.System:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
- UIButtonType.Custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
- UIButtonType.InfoDark:为感叹号“!”圆形按钮
- UIButtonType.InfoLight:为感叹号“!”圆形按钮
按钮的文字设置
- UIControlState.Normal:普通状态下的文字
- UIControlState.Highlighted:触摸状态下的文字
- UIControlState.Disabled:禁用状态下的文字
按钮文字颜色的设置
button.setTitleColor(UIColor.black,for: .normal) //普通状态下文字的颜色 button.setTitleColor(UIColor.green,for: .highlighted) //触摸状态下文字的颜色 button.setTitleColor(UIColor.gray,for: .disabled) //禁用状态下文字的颜色
按钮文字阴影颜色的设置
button.setTitleShadowColor(UIColor.green,for:.normal) //普通状态下文字阴影的颜色 button.setTitleShadowColor(UIColor.yellow,for:.highlighted) //普通状态下文字阴影的颜色 button.setTitleShadowColor(UIColor.gray,for:.disabled) //普通状态下文字阴影的颜色
按钮文字图标的设置
button.setImage(UIImage(named:"pic"),for:.normal) //设置图标 button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗 button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗
-
常用的触摸事件类型
- TouchDown:单点触摸按下事件,点触屏幕
- TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
- TouchDragInside:触摸在控件内拖动时
- TouchDragOutside:触摸在控件外拖动时
- TouchDragEnter:触摸从控件之外拖动到内部时
- TouchDragExit:触摸从控件内部拖动到外部时
- TouchUpInside:在控件之内触摸并抬起事件
- TouchUpOutside:在控件之外触摸抬起事件
- TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
设置按钮的圆角
button.layer.masksToBounds = true button.layer.cornerRadius = 6.0
设置按钮点击时高亮,默认点击时是高亮的状态
button.showsTouchWhenHighlighted = true
UIButton在开发的过程中应用比较多,以后还会继续补充的,请大家多多关注。
UITextField-文本输入框
1.文本输入框的创建
let textF = UITextField(frame: CGRect(x:50,y:300,100,height:30)) //设置文肯输入框的边框样式 textF.borderStyle = UITextBorderStyle.none //设置文本框的提示文字 textF.placeholder="请输入" //设置用*显示,比如密码 swift3.0废弃 // textF.secureTextEntry = true //设置文本输入框的背景颜色 textF.backgroundColor = UIColor.white self.view.addSubview(textF)
-
文本框的样式:
- UITextBorderStyle.None:无边框
- UITextBorderStyle.Line:直线边框
- UITextBorderStyle.RoundedRect:圆角矩形边框
-
UITextBorderStyle.Bezel:边线+阴影
文字大小超过文本框长度时自动缩小字号
//当文字超出文本框宽度时,自动调整文字大小 textF.adjustsFontSizeToFitWidth=true textF.minimumFontSize=14 //最小可缩小的字号
设置水平/垂直对齐方式
//水平对齐 textF.textAlignment = .right //水平右对齐 textF.textAlignment = .center //水平居中对齐 textF.textAlignment = .left //水平左对齐 // 垂直对齐 textF.contentVerticalAlignment = .top //垂直向上对齐 textF.contentVerticalAlignment = .center //垂直居中对齐 textF.contentVerticalAlignment = .bottom //垂直向下对齐
textF.borderStyle = UITextBorderStyle.none //先要去除边框样式 textF.background=UIImage(named:"background")
设置输入框右边的小叉叉(清除按钮)
textF.clearButtonMode=UITextFieldViewMode.whileEditing //编辑时出现清除按钮 textF.clearButtonMode=UITextFieldViewMode.unlessEditing //编辑时不出现,编辑后才出现清除按钮 textF.clearButtonMode=UITextFieldViewMode.always //一直显示清除按钮
设置文本框关联的键盘类型
textF.keyboardType = UIKeyboardType.default //系统默认的虚拟键盘 //显示英文字母的虚拟键盘 swift3.0废弃 // textF.keyboardType = UIKeyboardType.aSCIICapable textF.keyboardType = UIKeyboardType.numbersAndPunctuation //显示数字和标点的虚拟键盘 textF.keyboardType = UIKeyboardType.URL //显示便于输入数字的虚拟键盘 textF.keyboardType = UIKeyboardType.numberPad //显示便于输入数字的虚拟键盘 textF.keyboardType = UIKeyboardType.phonePad //显示便于拨号呼叫的虚拟键盘 textF.keyboardType = UIKeyboardType.namePhonePad //显示便于聊天拨号的虚拟键盘 textF.keyboardType = UIKeyboardType.emailAddress //显示便于输入Email的虚拟键盘 textF.keyboardType = UIKeyboardType.decimalPad //显示用于输入数字和小数点的虚拟键盘 textF.keyboardType = UIKeyboardType.twitter //显示方便些Twitter的虚拟键盘 textF.keyboardType = UIKeyboardType.webSearch //显示便于在网页上书写的虚拟键盘
使文本框在界面打开时就获取焦点,并弹出输入键盘
textF.becomeFirstResponder()
使文本框失去焦点,并收回键盘
textF.resignFirstResponder()
设置键盘return键的样式
textF.returnKeyType = UIReturnKeyType.done//表示完成输入 textF.returnKeyType = UIReturnKeyType.go //表示完成输入,同时会跳到另一页 textF.returnKeyType = UIReturnKeyType.search //表示搜索 textF.returnKeyType = UIReturnKeyType.join //表示注册用户或添加数据 textF.returnKeyType = UIReturnKeyType.next //表示继续下一步 textF.returnKeyType = UIReturnKeyType.send //表示发送。
键盘return键的响应
class ViewController: UIViewController,UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() let textField = UITextField(frame: CGRect(x:10,y:160,200,height:30)) //设置边框样式为圆角矩形 textField.borderStyle = UITextBorderStyle.roundedRect textField.returnKeyType = UIReturnKeyType.done textField.delegate=self self.view.addSubview(textField) } func textFieldShouldReturn(_ textField:UITextField) -> Bool { //收起键盘 textField.resignFirstResponder() return true; } }
2.关于UITextField的attributedPlaceholder属性设置
我们在使用textfield的时候为了实现更美观的效果,常常会设置placeholder的相关属性,那就是attributedPlaceholder。
//创建属性字典,存放我们想要修改的属性 var attributes:[String:AnyObject] = NSMutableDictionary() as! [String:AnyObject] attributes[NSFontAttributeName] = UIFont.systemFont(ofSize: 13) //创建带属性的字符串 let string:NSAttributedString = NSAttributedString.init(string: "身份证号中含字母必须大写", attributes: attributes) //设置placeholder的属性 textF.attributedPlaceholder = string
3.关于UITextField的光标的设置
这个demo中主要是实现以leftView为左边界,并且一直显示,使光标的位置右移。
let textF = UITextField(frame: CGRect(x:50,y:300,100,height:30)) textF.backgroundColor = UIColor.yellow self.view.addSubview(textF) textF.leftView = UIView(frame: CGRect(x:0,y:0,30,height:30)) textF.leftView?.backgroundColor = UIColor.blue textF.leftViewMode = UITextFieldViewMode.always
4.UITextField的代理方法
//将要开始输入时调用 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { print("开始输入") return true } func textFieldDidBeginEditing(_ textField: UITextField) { print("已经开始输入") } //输入结束时调用 func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { print("输入结束") return true } func textFieldDidEndEditing(_ textField: UITextField) { print("已经结束输入") } //清除文字按钮点击事件 func textFieldShouldClear(_ textField: UITextField) -> Bool { print("清除输入内容") return true } //键盘上的return按钮 func textFieldShouldReturn(_ textField: UITextField) -> Bool { //隐藏输入键盘 textField.resignFirstResponder() return true }
5.storyboard/xib中设置placeholder的颜色
我们在用storyboard/xib中可能会发现并没有设置textField的placeholder的颜色的属性,其实我们可以这样做:
在keyPath中写入placeholderLabel.textColor,Type选择Color,Value就是设置自己喜欢的颜色啦。以后我们需要其他属性的时候也可以按照这种方法添加哦。
UIImagevIew-图像视图
1.图像视图的创建
let imageView = UIImageView(image:UIImage(named:"icon")) imageView.frame = CGRect(x: 10, y: 10, 100, height: 100) self.view.addSubview(imageView) //修改图片 imageView.image = UIImage(named:"icon2") //保持图片比例 imageView.contentMode = .scaleAspectFit
2.从文件目录中获取图片
let path = Bundle.main.path(forResource: "apple", ofType: "png") let newImage = UIImage(contentsOfFile: path!) let imageView = UIImageView(image:newImage) self.view.addSubview(imageView)
3.从网络地址获取图片
//定义NSURL对象 let url = NSURL(string: "http://hangge.com/blog/images/logo.png") //从网络获取数据流 let data = NSData(contentsOf: url! as URL) //通过数据流初始化图片 let newImage = UIImage(data: data! as Data) let imageView = UIImageView(image:newImage); self.view.addSubview(imageView)
4.实现动画效果
class ViewController: UIViewController { var imageView:UIImageView! override func viewDidLoad() { super.viewDidLoad() imageView=UIImageView() imageView.frame = CGRect(x: 10, y: 10, 100, height: 100) //设置动画图片 imageView.animationImages=[UIImage(named:"icon")!,UIImage(named:"icon2")!] //设置每隔0.5秒变化一次 imageView.animationDuration=0.5 self.view.addSubview(imageView) } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) imageView.startAnimating() } override func viewWillDisappear(_ animated: Bool) { super.viewWillAppear(animated) imageView.stopAnimating() } }
UITextView-多行文本输入框
1.UITextView的创建
let textview = UITextView(frame:CGRect(x: 10, y: 10, 100, height: 100)) textview.layer.borderWidth=1 //边框粗细 textview.layer.borderColor=UIColor.gray.cgColor //边框颜色 textview.backgroundColor = UIColor.clear //背景颜色 textview.backgroundColor = UIColor.clear textview.isEditable = true //设置为可编辑状态 //可选范围 textview.selectedRange = NSRange(location: 0, length: Int.max) //内容是否可选 textview.isSelectable=false self.view.addSubview(textview)
2.UITextView的代理方法
UITextView的代理方法与UITextField的代理方法非常类似,在这里就不过多介绍了。大家千万不要忘记设置代理哦。{{{(>_<)}}}
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool { print("开始输入") return true } func textViewDidBeginEditing(_ textView: UITextView) { print("已经开始输入") } func textViewShouldEndEditing(_ textView: UITextView) -> Bool { print("输入结束") return true } func textViewDidEndEditing(_ textView: UITextView) { print("已经输入结束") } func textViewDidChange(_ textView: UITextView) { print("已经改变") }
UISwitch-开关按钮
let switch1 = UISwitch() //设置开始位置 switch1.center = CGPoint(x:100, y:100) //设置默认值 switch1.isOn = true //添加事件 switch1.addTarget(self, action: #selector(ViewController.switchDidChange), for: .ValueChanged)
UISegmentedControl-分段选择器
//选项除了文字还可以是图片 let items=["Hello" as AnyObject,"World" as AnyObject,UIImage(named: "star")!] as [AnyObject] let segmentedController=UISegmentedControl(items:items) segmentedController.center=self.view.center segmentedController.selectedSegmentIndex=1 //默认选中第二项 segmentedController.addTarget(self, action: Selector("segmentDidchange:"),for: UIControlEvents.valueChanged) //添加值改变监听 self.view.addSubview(segmentedController)
定义点击事件方法
func segmentDidchange(segmented:UISegmentedControl){ //获得选项的索引 print(segmented.selectedSegmentIndex) //获得选择的文字 print(segmented.titleForSegmentAtIndex(segmented.selectedSegmentIndex)) }
选择器中选项的添加、删除与修改
//添加文字选项 segmentedController.insertSegmentWithTitle("新增选项",atIndex:1,animated:true) //添加图片选项 segmentedController.insertSegmentWithImage(UIImage(named:"icon")!,atIndex:1,animated: true) //移除选项 segmentedController.removeSegmentAtIndex(1,animated:true) //修改选项颜色,包括图片 segmentedController.tintColor=UIColor.blueColor() //修改选项文字 segmentedController.setTitle("哎呦",forSegmentAtIndex:1) //修改选项图片 segmentedController.setImage(UIImage(named:"icon"),forSegmentAtIndex:2) //修改选项内容偏移位置 segmentedController.setContentOffset(CGSizeMake(10,7),forSegmentAtIndex:1)
UISlider-滑块
let slider=UISlider(frame:CGRectMake(0,0,300,50)) slider.center=self.view.center slider.minimumValue=0 //最小值 slider.maximumValue=1 //最大值 slider.value=0.5 //当前默认值 //设置滑块的值,同时有动画 slider.setValue(0.8,animated:true) slider.continuous=false //滑块滑动停止后才触发ValueChanged事件 slider.addTarget(self,action:"sliderDidchange:", forControlEvents:UIControlEvents.ValueChanged) self.view.addSubview(slider)
UIProgressView-进度条
// 创建进度条 var progressView=UIProgressView(progressViewStyle:UIProgressViewStyle.Default) progressView.center=self.view.center progressView.progress=0.5 //默认进度50% self.view.addSubview(progressView) //设置进度,同时有动画效果 progressView.setProgress(0.8,animated:true) //改变进度条颜色 progressView.progressTintColor=UIColor.greenColor() //已有进度颜色 progressView.trackTintColor=UIColor.blueColor() //剩余进度颜色(即进度槽颜色)
UIStepper-微调器或叫步进器
super.viewDidLoad() stepper=UIStepper() stepper.center=self.view.center //设置stepper的范围与初始值 stepper.maximumValue=10 stepper.minimumValue=1 stepper.value=5.5 //设置每次增减的值 stepper.stepValue=0.5 //设置stepper可以按住不放来连续更改值 stepper.continuous=true //设置stepper是否循环(到最大值时再增加数值从最小值开始) stepper.wraps=true stepper.addTarget(self,action:"stepperValueIschanged", forControlEvents: UIControlEvents.ValueChanged) label=UILabel(frame:CGRectMake(100,100,300,30)) label.text = "当前值为:\(stepper.value)"
使用tintColor属性可以设置微调器的颜色。 而加减符号图标,背景图片,中间分割线图片都可以替换成自己图片
//用自定义的图片替换“-”和“+” stepper.setDecrementImage(UIImage(named: "sub.png"),forState: UIControlState.Normal) stepper.setIncrementImage(UIImage(named: "add.png"), forState: UIControlState.Normal)