博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 按钮(UIButton)的用法
阅读量:6573 次
发布时间:2019-06-24

本文共 2307 字,大约阅读时间需要 7 分钟。

hot3.png

1. 按钮有下面四种类型:

UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果	UIButtonType.DetailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果	UIButtonType.System:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果	UIButtonType.Custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果	UIButtonType.InfoDark:为感叹号“!”圆形按钮	UIButtonType.InfoLight:为感叹号“!”圆形按钮
//创建一个ContactAdd类型的按钮let button:UIButton = UIButton(type:.ContactAdd)//设置按钮位置和大小button.frame=CGRectMake(10, 150, 100, 30)//设置按钮文字button.setTitle("按钮", forState:UIControlState.Normal)self.view.addSubview(button);

2.对于Custom定制类型按钮,代码可简化为:

let button = UIButton(frame:CGRectMake(10, 150, 100, 30))

3.按钮的文字设置

button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字button.setTitle("触摸状态", forState:UIControlState.Highlighted) //触摸状态下的文字button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字

4.按钮文字颜色的设置

button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通状态下文字的颜色button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //触摸状态下文字的颜色button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用状态下文字的颜色

5.按钮文字阴影颜色的设置

button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通状态下文字阴影的颜色button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通状态下文字阴影的颜色button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通状态下文字阴影的颜色

6. 按钮背景颜色设置

button.backgroundColor=UIColor.blackColor()

7.按钮文字图标的设置

button.setImage(UIImage(named:"icon1"),forState:.Normal)  //设置图标button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗

8.设置按钮背景图片

button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)

9.按钮触摸点击事件响应

//不传递触摸对象(即点击的按钮)button.addTarget(self,action:#selector(tapped),forControlEvents:.TouchUpInside)func tapped(){    print("tapped")} //传递触摸对象(即点击的按钮),需要在定义action参数时,方法名称后面带上冒号button.addTarget(self,action:#selector(tapped(_:)),forControlEvents:.TouchUpInside)func tapped(button:UIButton){    print(button.titleForState(.Normal))}

常用的触摸事件类型:

TouchDown:单点触摸按下事件,点触屏幕TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候TouchDragInside:触摸在控件内拖动时TouchDragOutside:触摸在控件外拖动时TouchDragEnter:触摸从控件之外拖动到内部时TouchDragExit:触摸从控件内部拖动到外部时TouchUpInside:在控件之内触摸并抬起事件TouchUpOutside:在控件之外触摸抬起事件TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断

转载于:https://my.oschina.net/u/3049722/blog/789696

你可能感兴趣的文章
APM终端用户体验监控分析(下)
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
查看>>
Powershell进阶学习(6) 部署 Windows PowerShell Web 访问
查看>>
以身试法MTU
查看>>
基于CentOS7.3构建企业级Vsftpd文件服务器
查看>>
使用ApexSQL Log 分析数据库在线日志及数据库备份
查看>>
技术分享连载(八十六)
查看>>
清除vlan.dat文件
查看>>
Android 面试常问七道题
查看>>
TestNG介绍 - 1
查看>>
当前用户更改运行方式出现错误的解决办法
查看>>
visual studio 11开发Win8模板
查看>>
Linux下VsFTP和ProFTP用户管理高级技巧 之一
查看>>
Xamarin 技术全解析
查看>>
mySQL用户和权限管理v1
查看>>
烂泥:CentOS6.5光盘以及ISO镜像文件的使用
查看>>
awk入门-保护SSHD
查看>>
可视化就是简单化,可视化就是易用化
查看>>