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 判断是一样的)

    }

原文地址:https://www.cnblogs.com/luorende/p/5860742.html