swift - UIButton 的用法
1,按钮的创建
(1)按钮有下面四种类型:
contactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
detailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
system:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
infoDark:为感叹号“!”圆形按钮
infoLight:为感叹号“!”圆形按钮
//创建一个ContactAdd类型的按钮
let button:UIButton = UIButton(type:.custom)
//设置按钮位置和大小
button.frame=CGRect(x:50,y:180,width:self.view.bounds.size.width - 100,height:50)
//设置按钮文字
button.setTitle("按钮", for: .normal)
self.view.addSubview(button);
(2)对于Custom定制类型按钮,代码可简化为:
let btn = CGRect(x:100,y:200,width:80,height:50)
2,按钮的文字设置
button.setTitle("普通状态", for:.normal) //普通状态下的文字
button.setTitle("触摸状态", for:.highlighted) //触摸状态下的文字
button.setTitle("禁用状态", for:.disabled) //禁用状态下的文字
3,按钮文字颜色的设置
button.setTitleColor(UIColor.black,for: .normal) //普通状态下文字的颜色
button.setTitleColor(UIColor.green,for: .highlighted) //触摸状态下文字的颜色
button.setTitleColor(UIColor.gray,for: .disabled) //禁用状态下文字的颜色
4,按钮文字阴影颜色的设置
button.setTitleShadowColor(UIColor.green,for:.normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellow,for:.highlighted) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.gray,for:.disabled) //普通状态下文字阴影的颜色
5,按钮背景颜色设置
button.backgroundColor=UIColor.black
6,按钮文字图标的设置
button.setImage(UIImage(named:"icon1"),for:.normal) //设置图标
button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗
button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗
7,设置按钮背景图片
button.setBackgroundImage(UIImage(named:"background1"),for:.normal)
8,按钮触摸点击事件响应
//不传递触摸对象(即点击的按钮)
button.addTarget(self,action:#selector(tapped),for:.touchUpInside)
func tapped(){
print("tapped")
} //传递触摸对象(即点击的按钮),需要在定义action参数时,方法名称后面带上冒号
button.addTarget(self,action:#selector(tapped(_button:)),for:.touchUpInside)
func tapped(_button:UIButton){ }
常用的触摸事件类型:
touchDown:单点触摸按下事件,点触屏幕
touchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
touchDragInside:触摸在控件内拖动时
touchDragOutside:触摸在控件外拖动时
touchDragEnter:触摸从控件之外拖动到内部时
touchDragExit:触摸从控件内部拖动到外部时
touchUpInside:在控件之内触摸并抬起事件
touchUpOutside:在控件之外触摸抬起事件
touchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
9.我们通过修改button按钮中的titleLabel的lineBreakMode属性,遍可以调整按钮在文字超长的情况下如何显示,以及是否换行
case byWordWrapping // Wrap at word boundaries, default 自动换行,按词拆分
case byCharWrapping // Wrap at character boundaries 自动换行,按字符拆分
case byClipping // Simply clip 直接将多余的部分截断
case byTruncatingHead // Truncate at head of line: "...wxyz"
case byTruncatingTail // Truncate at tail of line: "abcd..."
case byTruncatingMiddle // Truncate middle of line: "ab...yz"
换行符:/n
swift - UIButton 的用法的更多相关文章
- Swift - enumerateObjectsUsingBlock的用法
enumerateobjectsusingblock:不是Array的方法在NSArray使用.如果你想使用它,你需要一个实例NSArray而不是Array. import Foundation va ...
- swift函数的用法,及其嵌套实例
import Foundation //swift函数的使用 func sayHello(name userName:String ,age:Int)->String{ return " ...
- Swift继承的用法
一个类可以继承另一个类的方法,属性和其它特性.当一个类继承其它类,继承类叫子类,被继承类叫超类(或父类).在Swift中,继承是区分「类」与其它类型的一个基本特征. 在Swift中,类可以调用和访问超 ...
- UIButton UIImage 用法分析
一.UIButton和UIImageView的区别 1.显示图片 1> UIImageView只能显示一种图片(图片默认会填充整个UIImageView) image\setImage: 2&g ...
- swift - UIDatePicker 的用法
1.初始化button,datepicker,label等控件,初始化时间格式化器 var datePicker = UIDatePicker() var btnShows = UIBu ...
- swift - UIAlertController 的用法
ios 8 以后苹果官方建议使用UIAlertController这个类,所以专门去网上找资料,了解了下用法, 1.创建一个alertController let alertController = ...
- swift - UIAlertView 的用法
1,创建一个alertview,并带有“确定”和“取消”两个按钮 (注:在这里使用alertview,会报警告,那是因为从ios 8 以后,建议使用UIAlertviewController) //警 ...
- swift - UISlider 的用法
swift的UISlider的用法和oc基本没有区别 1.创建 class SecondViewController: UIViewController { var slider = UISlider ...
- swift - UISegmentedControl 的用法
一.创建控件,并监听控件选择值 /*选项除了文字还可以是图片 as关键字的作用就是字面意思:类型转换*/ let items = ["选项一", "选项二", ...
随机推荐
- XPath Cookbook-Axes(轴)
http://blog.csdn.net/duruiqi_fx/article/details/55511164 ******************************************* ...
- jQuery请求维基百科[历史上的今天]
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- tomcat 8 加 struts2的 java.lang.NoSuchFieldException: resourceEntries
google发现已经有人把这个bug提交给了apache,issue地址,具体原因就是 Tomcat8 introduce super class WebappClassLoaderBase and ...
- sql插入数据
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 一款仿ios7的switches开关按钮
今天给大家介绍一款仿ios7的switches开关按钮.这款按钮也是纯css实现的.无需引js代码.在实现中给出了两种颜色,三种不同大小的demo.一起看下效果图: 在线预览 源码下载 实现的代码 ...
- System类及其getProterties( )和getProperty( )
System这个类来源: public final class System extends Object System类包含若干个有用的类字段和方法,而且不能被实例化.System类提供的工具包括标 ...
- kafkaStream执行过程中出现TimeoutException异常退出
日志中出现以下异常信息,程序中断退出. 目前参考别人的修改下面的配置,原来使用的hostname,改成IP,再观察观察. advertised.listeners=PLAINTEXT://192.1 ...
- linux 获取随机数的办法
1.1.1 inux随机数的办法 http://www.2cto.com/kf/201410/342717.html 方法一.[root@ob ~]# date +%N %N纳秒 随机获取的九位 ...
- 解决ssh连接超时时间(ssh timeout)的设置方法
本文介绍下,linux中ssh连接超时时间的设置方法,以避免总是被强行退出.有需要的朋友,参考下吧.有关修改ssh连接超时时间的方法,网上介绍的很多了.比如下面这个:可以减少ssh连接超时等待的时间: ...
- android ndk opencv jni 编译集成
OpenCV (Open Source Computer Vision Library) https://docs.opencv.org/2.4/doc/tutorials/introduction/ ...