iOS11開發教程(二十三)iOS11應用檢視實現按鈕的響應(3)
iOS11開發教程(二十三)iOS11應用檢視實現按鈕的響應(3)
2.使用程式碼新增按鈕實現的響應
使用程式碼新增的按鈕,實現響應需要使用到addTarget(_:action:for:)方法,其語法形式如下:
func addTarget(_ target: AnyObject?, action: Selector, for controlEvents: UIControlEvents)
其中,引數說明如下:
- target:表示目標物件。它是動作訊息的傳送方。
- action:表示選擇器,用來識別動作訊息。它不可以為空。
- controlEvents:表示控制元件事件。在iOS中有19種控制元件事件,如表2-4所示。
表2-4 控制元件事件
控制元件事件 |
解釋 |
touchDown |
單點觸控按下事件:使用者點觸螢幕,或者又有新手指落下的時候 |
touchDownRepeat |
多點觸控按下事件,點觸計數大於1:使用者按下第二、三、或第四根手指的時候。 |
touchDragInside |
當一次觸控在控制元件視窗內拖動時。 |
touchDragOutside |
當一次觸控在控制元件視窗之外拖動時。 |
touchDragEnter |
當一次觸控從控制元件視窗之外拖動到內部時。 |
touchDragExit |
當一次觸控從控制元件視窗內部拖動到外部時。 |
touchUpInside |
所有在控制元件之內觸控抬起事件。 |
touchUpOutside |
所有在控制元件之外觸控抬起事件(點觸必須開始與控制元件內部才會傳送通知)。 |
touchCancel |
所有觸控取消事件,即一次觸控因為放上了太多手指而被取消,或者被上鎖或者電話呼叫打斷。 |
valueChanged |
當控制元件的值發生改變時,傳送通知。用於滑塊、分段控制元件、以及其他取值的控制元件。開發者可以配置滑塊控制元件何時傳送通知 |
editingDidBegin |
當文字控制元件中開始編輯時傳送通知。 |
editingChanged |
當文字控制元件中的文字被改變時傳送通知。 |
editingDidEnd |
當文字控制元件中編輯結束時傳送通知。 |
editingDidEndOnExit |
當文字控制元件內通過按下Enter鍵(或等價行為)結束編輯時,傳送通知。 |
allTouchEvents |
通知所有觸控事件。 |
allEditingEvents |
通知所有關於文字編輯的事件。 |
applicationReserved |
提供一系列應用程式使用的控制事件的值 |
aystemReserved |
控制事件值的範圍內保留供內部使用的框架 |
AllEvents |
通知所有事件。 |
【示例2-5】以下將實現輕拍按鈕,改變主檢視背景顏色的功能。程式碼如下:
- import UIKit
- class ViewController: UIViewController {
- var isCyan:Bool=false
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- let button=UIButton(frame: CGRect(x: 90, y: 545, width: 225, height: 30))
- button.setTitle("Tap me,Change View Color", for: UIControlState()) //設定按鈕的標題
- button.setTitleColor (UIColor.black, for: UIControlState()) //設定按鈕標題的顏
- self.view.addSubview(button)
- button.addTarget(self, action: #selector(ViewController.tapbutton), for: UIControlEvents.touchUpInside)
- }
- @objc func tapbutton(){
- if(isCyan){
- self.view.backgroundColor=UIColor.white
- isCyan=false
- }else{
- self.view.backgroundColor=UIColor.cyan
- isCyan=true
- }
- }
- ……
- }
此時執行程式,首先會看到如圖2.14的效果。當輕拍Tap me,Change View Color按鈕後,主檢視的背景變為青色,如圖2.15所示。當再一次輕拍Tap me,Change View Color按鈕,主檢視的背景顏色將會變回原來的白色。
圖2.14 執行效果 圖2.15 執行效果
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2152283/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS 11開發教程(二十二)iOS11應用檢視實現按鈕的響應(2)iOS
- iOS 11開發教程(二十一)iOS11應用檢視美化按鈕之實現按鈕的響應(1)iOS
- iOS 11開發教程(二十)iOS11應用檢視美化按鈕之設定按鈕的狀態iOS
- iOS 11開發教程(十九)iOS11應用檢視美化按鈕之設定按鈕的外觀iOS
- iOS 11開發教程(十八)iOS11應用檢視之使用程式碼新增按鈕iOS
- iOS 11開發教程(十七)iOS11應用檢視之使用按鈕接收使用者輸入iOS
- iOS 11開發教程(十二)iOS11應用檢視始祖——UIViewiOSUIView
- iOS 11開發教程(十一)瞭解iOS11應用檢視iOS
- iOS 11開發教程(十四)iOS11應用程式碼新增檢視iOS
- iOS 11開發教程(十五)iOS11應用檢視的位置和大小iOS
- iOS 11開發教程(十六)iOS11應用檢視之刪除空白檢視iOS
- iOS 11開發教程(十三)iOS11應用編輯介面新增檢視iOS
- [譯] 用 Flutter 實現 Facebook 的響應式按鈕Flutter
- iOS 11開發教程(八)定製iOS11應用程式圖示iOS
- js實現的按鈕響應點選回車事件JS事件
- 2018-01-16(iOS11之後self.navigationItem.titleView = self.searchView;上的按鈕無響應)iOSNavigationView
- android音視訊指南-響應媒體按鈕Android
- Gridview中新增按鈕響應事件View事件
- iOS11正式版降級iOS10.3.3教程 iOS11重刷教程iOS
- HarmonyOS NEXT應用開發—自定義檢視實現Tab效果
- MY_ iOS 按鈕超過父檢視範圍無法響應事件的處理方法iOS事件
- IOS11螢幕錄製功能使用教程 IOS11螢幕錄製怎麼用?iOS
- MFC設定按下Enter鍵後響應指定的按鈕
- 在 js 裡定義按鈕的響應函式JS函式
- iOS 11開發教程(五)iOS11模擬器介紹二iOS
- iOS 11開發教程(四)iOS11模擬器介紹一iOS
- iOS11正式版升級圖文教程 iOS11怎麼升級?iOS
- [開發教程]第9講:Bootstrap響應式佈局的實用類boot
- 開發日常 適配iOS11和iPhone XiOSiPhone
- [開發教程]第21講:Bootstrap按鈕boot
- css3實現的開關按鈕程式碼例項CSSS3
- elasticsearch的開發應用(3)Elasticsearch
- 最佳實踐(3):Windows應用開發Windows
- CocosCreator遊戲開發(五)實現技能按鈕遊戲開發
- Vue 3 響應式原理及實現Vue
- iOS11 適配iOS
- iOS 11開發教程(九)iOS11資料線連線真機測試iOS
- iOS 11開發教程(七)編寫第一個iOS11程式碼Hello,WorldiOS