//

//  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. HTTP 笔记与总结(7)HTTP 缓存(配合 Apache 服务器)

    在网络上,有一些缓存服务器,另外浏览器自身也有缓存功能. 例如: <!DOCTYPE html> <html lang="en"> <head> ...

  2. 20145235 《Java程序设计》第8周学习总结

    教材学习内容总结 15.1.1日志API简介 使用日志的起点是logger类,logger实例的创建有许多要处理的要素,必须使用logger的静态方法getLogger(). 通常在哪个类上取得的lo ...

  3. Diode

    Diode https://zh.wikipedia.org/wiki/真空管 抽真空 电子在于其放射过程中,因会与空气中之组成分子相撞而产生阻力,因此电子经由如空气之类的介质来移动的话,将会比在真空 ...

  4. Connection Management and Security

    High Performance My SQL  THIRD EDITION Each client connection gets its own thread within the server ...

  5. 【No.1 Ionic】基础环境配置

    Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...

  6. 【Java 基础篇】【第六课】接口interface

    Java提供的这个interface的语法,目的就是将接口从类中剥离出来,构成独立的主体. 首先加入我们定义了这个杯子接口: interface Cup { void addWater(int w); ...

  7. Linq&Lumbda

    var y = from model in list.Where(s=>s.product==product||product=="")                    ...

  8. 各个JSON技术的比较

    JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...

  9. 新的开始--Python

    第一周——python基础 1.Python简介 1.1Python简史 1.2安装Python 1.3“hello world” 在运行第一个程序“hello world”之前,先来看看运行Pyth ...

  10. swift-03-构造器(Designated&&Convenience)

    类里面所有的存储型属性--包括所有继承自父类的属性,都必须在构造过程中设置初始值.   构造器,为了确保所有类实例中的存储型属性都能获得初始值,设置了两个构造器--他们分别是指定构造器和便利构造器. ...