iOS 11開發(fā)教程(二十二)iOS11應(yīng)用視圖實現(xiàn)按鈕的響應(yīng)(2)
此時婆赠,當用戶輕拍按鈕后,一個叫tapButton()的方法就會被觸發(fā)佳励。
注意:以上這一種方式是動作聲明和關(guān)聯(lián)一起進行的休里,還有一種先聲明動作后關(guān)聯(lián)的方式。聲明動作可以使用關(guān)鍵字IBAction赃承。該關(guān)鍵字可以告訴故事面板的界面妙黍,此方法是一個操作,且可以被某個控件觸發(fā)瞧剖。聲明動作的語法形式如下:
@IBAction func?動作名(_?參數(shù):參數(shù)類型){
}
如圖2.10所示拭嫁,就是在ViewController.swift文件中編寫的動作的聲明代碼。
注意:在聲明動作后抓于,會在代碼的前面出現(xiàn)一個空心的小圓圈做粤,它表示此動作還未進行關(guān)聯(lián)。
聲明好動作后捉撮,就可以進行關(guān)聯(lián)了怕品,首先使用調(diào)整窗口中的工具,將Xcode的界面進行調(diào)整巾遭。將其調(diào)整為和圖2.5一樣的效果肉康。
然后,按住Ctrl鍵拖動界面中的按鈕對象灼舍,這時會出現(xiàn)一個藍色的線條吼和,將這個藍色的線條和文件ViewController.swift中的動作進行關(guān)聯(lián),如圖2.11所示骑素。
最后炫乓,松開鼠標后,按鈕對象就與動作成功的關(guān)聯(lián)在一起了砂豌,此時動作前面的空心小圓圈就變?yōu)榱藢嵭牡男A圈厢岂,它表示此動作已被關(guān)聯(lián)光督,效果和圖2.9一樣阳距。
(8)打開ViewController.swift文件,編寫代碼结借,此代碼將實現(xiàn)按鈕的響應(yīng)筐摘。代碼如下:
import UIKit
class ViewController: UIViewController {
var isYellow:Bool=false
@IBAction func tapButton(_ sender: AnyObject) {
? ? //判斷主視圖的背景是否為黃色
??? if(isYellow){
? ? ? ? self.view.backgroundColor=UIColor.white????????????????????????????????????????????? //設(shè)置背景顏色
? ? ? ? isYellow=false
? ? }else{
? ? ? ? self.view.backgroundColor=UIColor.yellow
? ? ? ? isYellow=true
? ? }
}
……
}
此時運行程序,首先會看到如圖2.12的效果。當輕拍Tap me,Change View Color按鈕后咖熟,主視圖的背景變?yōu)辄S色圃酵,如圖2.13所示。當再一次輕拍Tap me,Change View Color按鈕馍管,主視圖的背景顏色將會變回原來的白色郭赐。