iOS 11開發教程(二十二)iOS11應用檢視實現按鈕的響應(2)
此時,當使用者輕拍按鈕後,一個叫tapButton()的方法就會被觸發。
注意:以上這一種方式是動作宣告和關聯一起進行的,還有一種先宣告動作後關聯的方式。宣告動作可以使用關鍵字IBAction。該關鍵字可以告訴故事皮膚的介面,此方法是一個操作,且可以被某個控制元件觸發。宣告動作的語法形式如下:
@IBAction func 動作名(_ 引數:引數型別){
}
如圖2.10所示,就是在ViewController.swift檔案中編寫的動作的宣告程式碼。
圖2.10 宣告的動作
注意:在宣告動作後,會在程式碼的前面出現一個空心的小圓圈,它表示此動作還未進行關聯。
宣告好動作後,就可以進行關聯了,首先使用調整視窗中的工具,將Xcode的介面進行調整。將其調整為和圖2.5一樣的效果。
然後,按住Ctrl鍵拖動介面中的按鈕物件,這時會出現一個藍色的線條,將這個藍色的線條和檔案ViewController.swift中的動作進行關聯,如圖2.11所示。
圖2.11 關聯動作
最後,鬆開滑鼠後,按鈕物件就與動作成功的關聯在一起了,此時動作前面的空心小圓圈就變為了實心的小圓圈,它表示此動作已被關聯,效果和圖2.9一樣。
(8)開啟ViewController.swift檔案,編寫程式碼,此程式碼將實現按鈕的響應。程式碼如下:
- import UIKit
- class ViewController: UIViewController {
- var isYellow:Bool=false
- @IBAction func tapButton(_ sender: AnyObject) {
- //判斷主檢視的背景是否為黃色
- if(isYellow){
- self.view.backgroundColor=UIColor.white //設定背景顏色
- isYellow=false
- }else{
- self.view.backgroundColor=UIColor.yellow
- isYellow=true
- }
- }
- ……
- }
此時執行程式,首先會看到如圖2.12的效果。當輕拍Tap me,Change View Color按鈕後,主檢視的背景變為黃色,如圖2.13所示。當再一次輕拍Tap me,Change View Color按鈕,主檢視的背景顏色將會變回原來的白色。
圖2.12 執行效果 圖2.13 執行效果