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 判斷是一樣的)

    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM