iOS -Swift 3.0 -UIButton属性大全
//
// 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属性大全的更多相关文章
- iOS -Swift 3.0 -UILabel属性大全
昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...
- iOS -Swift 3.0 -String(字符串常规用法)
// // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...
- iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
// // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...
- iOS -Swift 3.0 -for(循环语句用法)
// // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...
- iOS开发系列--Swift 3.0
概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...
- Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性
由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...
- iOS开发——新特性OC篇&Swift 2.0新特性
Swift 2.0新特性 转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度 ...
- iOS开发——新特性Swift篇&Swift 2.0 异常处理
Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...
- iOS开发swift语法0基础篇—————(swift技术交流群:361513739)
iOS开发之swift语法0基础篇:点击打开链接 swift技术交流QQ群361513739
随机推荐
- 4 bytes (32 bits) or 8 bytes (64 bits)
Computer Systems A Programmer's Perspective Second Edition BusesRunning throughout the system is a c ...
- Python中Unicode字符串
Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...
- 深入了解Windows句柄到底是什么
深入了解Windows句柄到底是什么 http://blog.csdn.net/wenzhou1219/article/details/17659485 总是有新入门的Windows程序员问我Wind ...
- JavaScript判断字符串的字符长度(中文占两个字符)
判断方法 //判断字符串中的字符 中文算两个字符 function chkstrlen(str) { ; ; i < str.length; i++) { ) //如果是汉字,则字符串长度加2 ...
- HDFS API 文件读写代码演示
一:准备工作 1.新建class类 2.开启HDFS服务 3.将配置文件拷贝进resources路径 方便了Configuration的读取配置. 二:读出HDFS文件系统中的文件到控制台 4.读出在 ...
- Android Handler简单示例
package com.firstapp.foo.firstapp; import android.os.Handler; import android.os.Message; import andr ...
- angularJS推荐显示注入写法
使用js压缩工具时发现压缩之后的控制器注入参数由原来的$scope变成了a,b...这样的字母而导致js失效,那么我们推荐使用完整的显示注入方式来解决此问题! //隐式注入的写法 angular.mo ...
- 在express中使用Mongoose连接MongoDB
为何要学Mongoose? Mongoose是MongoDB的一个对象模型工具,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 0.安装 ...
- 有关sass
一.sass编译为css文件 编译的方法有很多 1.koala编译 请参考 http://www.w3cplus.com/blog/777.html http://koala-app.com/ind ...
- XPS1330 作为Linux服务器之安装配置计划
# Task 状态 完成时间 备注 博文链接 1. 打通SSH 未开始 -- 安装系统后已经具备 -- 2. 打通FTP 未开始 -- 安装系统后已经具备 -- 3. ...