1、UIButton 的介绍
按钮是App开发中不可缺少的工具,主要是和用户交互触发某一个时间。但也有好多用法,后续再说。
2、UIButton 的属性和方法介绍
1、初始化
var NetWorkBtn = UIButton.init()
NetWorkBtn = UIButton.init(type: UIButtonType.custom)
/**
创建按钮的类型
UIButtonType
custom : 定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
system : 前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
detailDisclosure : 前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
contactAdd : 前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
infoLight : 为感叹号“!”圆形按钮
infoDark : 为感叹号“!”圆形按钮
*/
2、设置大小
/**
设置大小
*/
NetWorkBtn.frame = CGRect.init(x: 10, y: 70, width: 200, height: 60)
3、设置文字
/**
设置文字
UIControlState 状态
normal : 默认
selected : 选中
disabled : 按钮不可点击的效果
*/
NetWorkBtn.setTitle("点一下", for: UIControlState.normal)
NetWorkBtn.titleLabel?.text = "点一下"
NetWorkBtn.setAttributedTitle(NSAttributedString.init(string: "点一下"), for: UIControlState.normal)
4、设置按钮文字的颜色
/**
设置文字颜色
*/
NetWorkBtn.setTitleColor(UIColor.red, for: UIControlState.normal)
5、设置按钮的背景颜色
/**
设置按钮背景色
*/
NetWorkBtn.backgroundColor = UIColor.magenta
/* 这是设置父类的颜色*/
NetWorkBtn.tintColor = UIColor.yellow
6、控制按钮的点击
/**
控制按钮的点击
*/
NetWorkBtn.isEnabled = true
/* 禁止交互
true : 可以交互
false : 不可交互
*/
NetWorkBtn.isUserInteractionEnabled = true
7、设置按钮文字的大小
/**
设置按钮文字的大小
*/
NetWorkBtn.titleLabel?.font = UIFont.systemFont(ofSize: 18)
8、设置按钮的图片
/**
设置按钮的图片
*/
NetWorkBtn.setImage(UIImage.init(named: "test.png"), for: UIControlState.normal)
9、按钮的切角和描边
/**
按钮的切角和描边
*/
NetWorkBtn.layer.masksToBounds = true
NetWorkBtn.layer.cornerRadius = 6.1
NetWorkBtn.layer.borderColor = UIColor.green.cgColor
NetWorkBtn.layer.borderWidth = 0.5
10、按钮的点击事件
/**
按钮添加点击事件
UIControlEvents
常用的触摸事件类型:
touchDown:单点触摸按下事件,点触屏幕
touchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
touchDragInside:触摸在控件内拖动时
touchDragOutside:触摸在控件外拖动时
touchDragEnter:触摸从控件之外拖动到内部时
touchDragExit:触摸从控件内部拖动到外部时
touchUpInside:在控件之内触摸并抬起事件
touchUpOutside:在控件之外触摸抬起事件
touchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
*/
let metohd = #selector(clickTap)
let method1 = #selector(tapped(_:))
NetWorkBtn.addTarget(self, action:metohd, for: UIControlEvents.touchUpInside)
实现方法
func clickTap() {
print("被点击了")
}
func tapped(_ btn:UIButton) {
}
11、获取当前按钮的文字和图片
/**
获取按钮当前的文字
*/
let title = NetWorkBtn.currentTitle
print(title!)
/**
获取当前的图片
*/
let image = NetWorkBtn.currentImage
print(image!)
12、 按钮文字显示的类型
/**
按钮文字显示的类型
NSLineBreakMode
byTruncatingHead:省略头部文字,省略部分用...代替
byTruncatingMiddle:省略中间部分文字,省略部分用...代替(默认)
byTruncatingTail:省略尾部文字,省略部分用...代替
byClipping:直接将多余的部分截断
byWordWrapping:自动换行(按词拆分)
注意:当设置自动换行后(byWordWrapping 或 byCharWrapping),我们可以在设置 title 时通过 \n 进行手动换行。
*/
NetWorkBtn.titleLabel?.lineBreakMode = NSLineBreakMode.byClipping
网友评论