//

//  ViewController.swift

//  Swift-UIButton

//

//  Created by luorende on 16/9/9.

//  Copyright © 2016年 luorende. All rights reserved.

//

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

/*

//类型

Custom     图片类型的按钮、自定义类型按钮/前面不带图标,默认文字颜色为白色,无触摸时的高亮效果

System     系统类型的按钮 (系统自带类型,默认是蓝色的,有触摸时的高亮效果)

//系统自带的按钮类型

ContactAdd  (前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果)

DetailDisclosure (前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果)

InfoDark (为感叹号“!”圆形按钮)

InfoLight (为感叹号“!”圆形按钮)

*/

//创建一个ContactAdd类型的按钮

let button:UIButton = UIButton(type:.ContactAdd)

//设置按钮位置和大小

button.frame=CGRectMake(10, 150, 100, 30)

//设置按钮文字

button.setTitle("按钮", forState:UIControlState.Normal)

  /** 自定义按钮初始化可简化*/

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

//设置按钮位置和大小

button.frame = CGRectMake(0, 0, 50, 30);

//button 的中心点位置

button.center = CGPointMake(320/2, 568/2);

   //设置背景颜色

button.backgroundColor = UIColor.redColor()

   //button的状态及button文本设置

/**

Normal          (默认状态)

Highlighted    (高亮状态)点击按钮不放

Disabled       (使能状态)就是是否可用状态-->禁用的状态才会显现

Selected       (选中状态)通过selected属性设置

*/

button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字

button.setTitle("选中状态", forState:UIControlState.Selected) //选中状态下的文字

button.setTitle("触摸高亮状态", forState:UIControlState.Highlighted) //触摸状态下的文字

button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字

  //设置选择状态(按钮是否选中)

  //button选中

button.selected = false  //未选中

button.selected = true   //选中

//使能状态(按钮是否可用),默认是 YES 即可用

  //button不可用

button.enabled = false  //可用

button.enabled = true   //不可用

  //设置button文本颜色及状态

button.setTitleColor(UIColor.blackColor(),forState:.Normal) //普通状态下文字的颜色

    button.setTitleColor(UIColor.blackColor(),forState:.Selected) //选中状态下文字的颜色

   button.setTitleColor(UIColor.greenColor(),forState:.Highlighted) //触摸高亮状态下文字的颜色

button.setTitleColor(UIColor.grayColor(),forState:.Disabled) //禁用状态下文字的颜色

//按钮文字阴影颜色的设置

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

   button.setTitleColor(UIColor.blackColor(),forState:.Selected) //选中状态下文字阴影的颜色

button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //触摸高亮状态下文字阴影的颜色

button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //禁用状态下文字阴影的颜色

  //设置 button文本大小(系统默认下的字体大小为:17)

button.titleLabel?.font = UIFont.systemFontOfSize(20)

  //设置button背景图片

button.setBackgroundImage(UIImage(named:"XXX"),forState:.Normal) //设置button默认状态下背景图片

button.setBackgroundImage(UIImage(named:"XXX"),forState:.Selected) //设置button选中状态下背景图片

button.setBackgroundImage(UIImage(named:"XXX"),forState:.Highlighted) //设置button高亮状态下背景图片

//设置button图片(左边图片)

button.setImage(UIImage(named:"XXX"), forState:.Normal)

//button透明度 0~1

button.alpha = 1;

//1、按键的边框设置

// 设置button边框宽度

button.layer.borderWidth = 2;

// 设置button边框颜色

button.layer.borderColor = UIColor.redColor().CGColor;

//2、按键的圆角设置

// 按键设置button圆角

button.layer.cornerRadius = 10;

//按钮触摸点击事件响应

//不传递触摸对象(即点击的按钮触发的事件)两种写法

button.addTarget(self,action:#selector(buttonClick),forControlEvents:.TouchUpInside)

           button.addTarget(self,action:#selector(ViewController.buttonClick),forControlEvents:UIControlEvents.TouchUpInside)

//事件的响应实现方法

func buttonClick(){

print(“buttonClick”)

}

    /**

#selector(buttonClick)     不带参数

#selector(buttonAtion(_:))    带参数,参数即它对象本身

 */

//传递触摸对象(即点击的按钮),需要在定义action参数时,方法名称后面带上(_:)

button.addTarget(self,action:#selector(buttonAtion(_:)),forControlEvents:.TouchUpInside)

//事件的响应实现方法

func buttonAtion(button:UIButton){

//对应改变按钮状态(实现选中与未选中)

if button.selected == false {

button.selected = true;

}else{

button.selected = false;

}

//还有另一种方法

//button.selected = !(button.selected);  //一句话搞定(与上面 if 判断是一样的)

}

iOS -Swift 3.0 -UIButton属性大全的更多相关文章

  1. iOS -Swift 3.0 -UILabel属性大全

    昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...

  2. iOS -Swift 3.0 -String(字符串常规用法)

    // // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...

  3. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  4. iOS -Swift 3.0 -for(循环语句用法)

    // // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...

  5. iOS开发系列--Swift 3.0

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  6. Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性

    由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...

  7. iOS开发——新特性OC篇&Swift 2.0新特性

    Swift 2.0新特性     转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度 ...

  8. iOS开发——新特性Swift篇&Swift 2.0 异常处理

    Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...

  9. iOS开发swift语法0基础篇—————(swift技术交流群:361513739)

    iOS开发之swift语法0基础篇:点击打开链接  swift技术交流QQ群361513739

随机推荐

  1. RT-Thread创建静态、动态线程

    RT-Thread 实时操作系统核心是一个高效的硬实时核心,它具备非常优异的实时性.稳定性.可剪裁性,当进行最小配置时,内核体积可以到 3k ROM 占用. 1k RAM 占用. RT-Thread ...

  2. Nginx平滑重启

    kill -HUP cat /usr/local/nginx/logs/nginx.pid`

  3. mysql入门问题

    1.给列设置默认时间 在创建表的图形化界面,不能直接用函数sysdate()或者now()来设置默认当前时间,要用sql脚本创建的话就可以 IF NOT EXISTS `tb_1` THENBEGIN ...

  4. 初步理解Java的三大特性——封装、继承和多态

    声明:整理自网络,如有雷同,请联系博主处理 一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 ...

  5. he time that it takes to bring a block from disk into main memory

    DATABASE SYSTEM CONCEPTS, SIXTH EDITION There is a trade-off that the system designer must make betw ...

  6. SQL Server 触发器【转】

    触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删 ...

  7. C#Form窗体通过代码改变尺寸

    通过Size属性不能得到正确的窗体尺寸, 怎么办? 还需要设置 MaximumSize 属性和你的 size属性尺寸一样. this.FormBorderStyle = FormBorderStyle ...

  8. FTS抓包看AVDTP

    1.概述   测试过程为打开Audio连接,没有听音乐,人后断开Audio连接,主要目的是为了测试AVDTP的工作流程.   2.Frame分析    首先贴出抓取的关于AVDTP的包: 在L2CAP ...

  9. yum change source repo centos共存安装sun jdk6和jdk7

    之前一直使用的是163的源,今天从微博看到阿里云推出了自己的源.因为我的主机是阿里云,所以可以走内网,速度提升更快.过程如下:cd /etc/yum.repos.d/mv mv CentOS-Base ...

  10. Linux下开发Windows平台运行的程序 - MinGW

    开源不乏神人,于是有了MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils一直到Win32平台下,包含一系列头文件.库和可 ...