花落√莫相思

22-Swift之UIIButton

2017-06-01  本文已影响58人  NetWork小贱

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
上一篇 下一篇

猜你喜欢

热点阅读