UIButton的创建方法
在ViewController的viewDidLoad中添加下面的方法即可
override func viewDidLoad() {
//button的类型,类型:custom/system/detailDisclosure/contactAdd
//类型的区别表现在字体颜色等之外,detailDisclosure在文字的左边添加了详情小图标,contactAdd在文字的左边添加了一个添加小图标
let button = UIButton(type:.custom)
//button的大小
button.frame = CGRect(x:40, y:100, width:350, height:300)
//button的背景色
button.backgroundColor = UIColor.blue
//button的背景图片
//detailDisclosure/contactAdd的情况下,图片会设置在button左边的icon后面
button.setBackgroundImage(UIImage(named: "qq"),for:.normal)
//图片和文字并排显示,只有button类型是custom的时候有效
button.setImage(UIImage(named: "qq"),for:.normal)
//button上面的文字,参数二是显示此标题文字时的按钮状态,类型:normal/highlighted/disabled/selected
//设置只对文字有效,对文字前的图标无效
button.setTitle("Click Me Please", for:.normal)
//整体内容相对于默认显示效果的偏移值,(上,左,下,右)
button.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0)
//只偏移图片部分
button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0)
//只偏移文字部分
button.titleEdgeInsets = UIEdgeInsetsMake(300, 0, 0, 0)
//button的点击事件,参数三为触发条件
//类型:touchDown/touchDownRepeat/touchDragInside/touchDragOutside/touchDragEnter/touchDragExit/touchUpInside/touchUpOutside/touchCancel/valueChanged
button.addTarget(self, action:#selector(对应方法名), for:.touchUpInside)
//添加到屏幕
self.view.addSubview(button)
}
button触发条件的详细说明
touchDown:用户手指按下时触发
touchDownRepeat:用户多次重复按下时触发
touchDragInside:用户在控件范围内进行拖动滑动移动时触发
touchDragOutside:用户在控件范围内按下并且拖动滑动到控件范围外时触发
touchDragEnter:用户手指拖动进控件范围后触发
touchDragExit:用户手指拖动结束时触发
touchUpInside:用户在控件范围内按下并且在范围内抬起时触发,即单击
touchUpOutside:用户在控件范围内按下并且在范围外抬起时
touchCancel:触摸事件被取消时触发
valueChanged:控件的value值改变时触发