// ViewController.swift
// ComponentsTest
// Created by 朱莹浩 on 2017/7/16.
// Copyright © 2017年 朱莹浩. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
//定义一个UIButton按钮
let button:UIButton = UIButton(type: .system)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
buttonFounction()
}
//buttonFounction对button的一下属性进行设置
func buttonFounction() {
//button的大小位置
button.frame = CGRect(x: 30, y: 20, width: 100, height: 30)
//设置按钮显示的标题
button.setTitle("返回", for: .normal)
//设置按钮的背景颜色
button.backgroundColor = UIColor.orange
//设置点击响应事件
button.addTarget(self, action:#selector(tapped(_:)), for:.touchUpInside)
print("it runing normally here!")
self.view.addSubview(button)
}
func tapped(_ button:UIButton) {
print("我摁下了这个按钮")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
如果从我们从元件选项中拖拽一个按钮到main.storyboard就会发现在按钮的属性框中有六种按钮可供选择
UIButtonType.system:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
UIButtonType.contactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.detailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.infoDark:为感叹号“!”圆形按钮
UIButtonType.infoLight:为感叹号“!”圆形按钮
2.UIButton的文字设置和颜色
在UIButton中有一个函数UIButton.setTitle(_ title String?, for state: UIControlState)用来设置UIButton的标题和文字在触摸下的状态
.normal为常规状态
.hightlighted为高亮
.disabled为禁用下的状态
按钮的字体设置为UIButton.titleLable?.font = UIFont.system(ofSize:)
另一个用来设置文字颜色的UIButton.setTitleColor(_ color:UIColor?, for state: UIControlState)
3.UIButton的点击响应
传递触摸对象的函数
UIButton.addTarget(self, action:#selector(tapped(_:)), for:.touchUpInside)
此时的函数体带参数 tapped(_ button:UIButton){}
不传递触摸对象的函数
button.addTarget(self, action:#selector(tapped), for:.touchUpInside)
此时的函数体带参数 tapped(){}关于 controlEvents的参数如下: