1. 程式人生 > >Swift開發入門:按鈕(UIButton)空間

Swift開發入門:按鈕(UIButton)空間

Swift開發入門:按鈕(UIButton)
1、UIButton 概述
繼承關係:UIButton -> UIControl -> UIView

2、UIButton 初始化

(1)使用 buttonWithType 構建按鈕,已有的六種型別如下:

enum UIButtonType : Int {
    case Custom				// 自定義風格
    case System				// 圓角矩形
    case DetailDisclosure	// 藍色小箭頭
    case InfoLight			// 亮色感嘆號
    case InfoDark			// 暗色感嘆號
    case ContactAdd			// 十字加號
}

(2)使用 frame 自定義按鈕

3、使用示例
override func viewDidLoad() {
    
    // 1、使用已有型別構建按鈕
    let commonButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
    // 修改按鈕位置及大小
    commonButton.frame = CGRectMake(self.view.frame.width/2 - 100, 100, 200, 200)
    // 設定按鈕背景圖片
    commonButton.setBackgroundImage(UIImage(named:"logo.jpg"), forState: UIControlState.Normal)
    // 新增點選事件
    commonButton.addTarget(self, action: "buttonActions:", forControlEvents: UIControlEvents.TouchUpInside)
    // 設定按鈕標籤
    commonButton.tag = 1
    
    // 2、自定義按鈕
    let customButton = UIButton(frame: CGRectMake(self.view.frame.width/2 - 100, 400, 200, 200))
    // 設定按鈕標題
    customButton.setTitle("custom", forState: UIControlState.Normal)
    // 設定按鈕標題顏色
    customButton.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
    // 設定按鈕標題陰影
    customButton.setTitleShadowColor(UIColor.blackColor(), forState: UIControlState.Normal)
    // 設定按鈕陰影
    customButton.titleLabel?.shadowOffset =  CGSizeMake(1.0, 1.0)
    // 設定按鈕標題字型樣式
    customButton.titleLabel!.font = UIFont.systemFontOfSize(18)
    // 設定按鈕標題換行模式
    customButton.titleLabel!.lineBreakMode = .ByTruncatingTail
    // 設定按鈕背景色
    customButton.backgroundColor = UIColor(red:0.8,green:0.8,blue:0.8,alpha:1.0)
    // 設定按鈕內部內容邊距
    customButton.contentEdgeInsets = UIEdgeInsetsMake(-100, 0, 0, 0)
    // 去掉高亮狀態下的影象顏色加深
    customButton.adjustsImageWhenHighlighted = false;
    // 去掉禁用狀態下的影象顏色加深
    customButton.adjustsImageWhenDisabled = false;
    // 新增按鈕按下發光效果
    customButton.showsTouchWhenHighlighted  = true;
    // 新增點選事件
    customButton.addTarget(self,action:"buttonActions:",forControlEvents:UIControlEvents.TouchUpInside)
    // 設定按鈕標籤
    customButton.tag = 2
    
    self.view.addSubview(commonButton)
    self.view.addSubview(customButton)
}

/// 響應按鈕點選事件
func buttonActions(sender: UIButton!) {
    println(sender.tag)
}

4、forState
這個引數的作用是定義按鈕的文字或圖片在何種狀態下才會顯現。有以下幾種狀態:
Normal(正常狀態)Highlighted(按下狀態)Disabled(禁用狀態)Selected(選中狀態(手指已經離開))Application(應用程式標誌)Reserved(預留狀態)

5、兩種設定背景圖片方式的區別
setBackGroudImage:圖片會被拉伸setImage:圖片保持原大小

相關推薦

Swift開發入門:按鈕UIButton空間

Swift開發入門:按鈕(UIButton) 1、UIButton 概述 繼承關係:UIButton -> UIControl -> UIView 2、UIButton 初始化(1)使用 buttonWithType 構建按鈕,已有的六種型別如下: enum U

Swift - 按鈕UIButton的用法

light titles iter 設置 取消 uiimage literal string agen 1。按鈕的創建。 1. 按鈕有下面四種類型: UIButtonType.ContactAdd:前面帶“+”圖標按鈕,默認文字顏色為藍色,有觸摸時的高亮效果 UIBut

Swift按鈕UIButton詳解

//宣告按鈕的一個物件,是全域性的 var button1 :UIButton! overridefunc viewDidLoad() { super.viewDidLoad() //以

遊戲開發入門系列目錄

進入遊戲行業兩年多了,處於一邊實踐一邊學習的狀態,一開始身邊沒有牛人引導感覺確實浪費了一些時間。偶然在Gad上看到這個系列的視訊,覺得內容挺全面的,就定了一個月的計劃把這些課程都看完了,收穫不小,對遊戲開發有了更為全面的認識。 如果你想進入遊戲行業,覺得學習資

IOS 初級開發入門教程第一個HelloWorld工程及StoryBoard使用

前言 在IOS開發之路的博文第一章:(IOS開發入門介紹http://blog.csdn.net/csdn_aiyang)我大致系統介紹了有關IOS的一些基礎認識,如果不完全都記住沒關係,以後我們開發之路還很長,慢慢的自然而然就明白是怎麼回事了。這一篇我將手把手教大家完成第

按鈕UIButton的用法

import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 建

Cordova+Angularjs+Ionic混合開發入門----- ionic環境搭建

      作為一名iOS開發人員,對於移動開發的發展趨勢頗為關注。大家都知道,現在的原生移動開發在企業上基本很少使用的,大部分企業為了降低成本,選擇了webapp,hybrid(混合開發)這兩種模式。恰巧我所在的一家公司也做混合開發,是的,你猜對了,這裡我所說的混合開

使用HAL庫、STM32CubeMX和Keil 5開發入門教程:點亮一盞LED燈NUCLEO-F411RE

本教程以點亮一盞LED燈為目的為大家演示用STM32CubeMX、Keil、ST-Link開發STM32程式的一般方法。 一、學習前的準備工作 硬體:一塊STM32開發板,一個ST-Link;(我使用的開發板是NUCLEO-F411RE) 軟體:裝好ST-

安卓開發入門:Android Studio匯入ApiDemos

引言 本人程式設計師,之前做網站比較多,nodejs/express+html/css+mysql,再之前也做過Java開發,程式設計上還是有豐富的經驗。 在持續的實戰中,發現想做產品的話,前端似乎更重要,因為前端才能看到產品形態。雖然說移動端形勢已經每況愈

Cordova+Angularjs+Ionic混合開發入門—— 外掛的釋出

自己編寫完的外掛只能自己使用,想共享到Internet或者用到別的專案就比較麻煩,這是我們需要把程式碼做成外掛形式,然後釋出到網上少說廢話,直奔主題!【iOS版,Mac環境】 1.方式一:GitHub託管 cordova    plugin    add    htt

IOS 初級開發入門教程介紹篇

導讀        目前移動端開發市場上引導開發者追求技多不壓身,一個全棧開發者至少要懂後臺伺服器、資料庫、Android、web、ios開發等。“一超多強”是指開發者先成為一門技術的專家然後掌握瞭解多門技術,這是一種好的發展趨勢,另外,這種技多不壓身我認為當開發者更適合發

IOS 初級開發入門教程TextField與ReturnKey實戰練習

前言看完前面4章的內容,基本對IOS開發有一些認識了,這章我們繼續動手去實踐一下,學習文字和鍵盤的相關知識,以及通過一個互動式的案例演示文字與鍵盤的使用。系列文章:UIKit繼承結構我們通過這個UIKit繼承結構圖,我們試著找到本章要學習的TextFiled與TextView

salesforce 零基礎開發入門學習Salesforce功能介紹,IDE配置以及資源下載

目前國內已經有很多公司做salesforce,但是國內相關的資料確是少之又少。上個月末跳槽去了新公司,主要做的就是salesforce,不過當時想要看一些相關資料確實比較難。為了避免想要零基礎學習的人少走一點彎路,所以整理一下這幾天學到的簡單的東西,包括登入salesforce後如何操作,如何下載配置IDE

IOS 初級開發入門教程基礎控制元件使用小練習

前言看完前面3章的內容,基本對IOS開發有一些認識了,這章我們開始動手去實踐做點小練習,學習如何建立並設定標籤和按鈕(Label & Button)的相關屬性,以及通過一個互動式的案例演示動作和輸出口的使用。系列文章:建立Swift新專案使用Label和Button1

IOS 初級開發入門教程探究應用及檢視的生命週期變化

導讀 作業系統都會根據應用的生命週期狀態來管理和處理邏輯,這一點在Android開發上現的就已經非常好了,耳熟能詳的就是應用狀態影響記憶體回收級別和活動的生命週期。同樣,在IOS上也會充分利用應用的檢視的生命週期來進行管理應用。首先,我們先知道IOS應用在程式中的五種狀

ZED stereo camera開發入門教程2

教程2:影象捕獲 本教程將介紹如何捕獲ZED攝像機的左影象。程式將迴圈,直到我們成功地抓住了50張影象。我們假設您已閱讀教程1併成功打開了ZED。 入門 首先,在stereolabs.com上下載最新版本的ZED SDK 。有關更多資訊,請閱讀ZED API文件。先決條件

swift 3.0 按鈕的用法UIButton

1.按鈕的型別 /*         UIButtonType.system:前面不帶圖示,預設文字顏色為藍色,有觸控時的高亮效果         UIButtonType.custom:定製按鈕,前面不帶圖示,預設文字顏色為白色,無觸控時的高亮效果         UI

GIS應用開發AO2-空間分析ITopologicalOperate

per imp enc mage top pro dimen logical cdif ---恢復內容開始--- 學院的安排也是可以,大三還要再學一遍大二的課程,不過,我喜歡編寫代碼喲,今天看了一下空間分析,主要用到了ITopologicalOperate,I

Android GIS開發系列-- 入門8 Json與Geometry的相互轉換

相互轉換 them 實用 興趣 parse 執行 pretty pre andro 在Android中json數據十分普遍,也很實用,在Arcgis中也同樣支持Json數據,Json與Geometry可以相互轉換,達到我們想要的數據。 一、Geometry轉換成Json數

Android GIS開發系列-- 入門12 顯示載天地圖

nts down initial spatial 動態加載 static mapview internal nat 在項目中可以經常需要動態加載一些圖層,像投影地圖服務、投影地圖服務器。其實網上有大量這樣的服務,比如天地圖官網, 。 隨便點開一個服務,裏面有相關的信息。