UIEvent是一系列UITouch的聚集,在IOS中擔任呼應觸摸事宜。別的還提到了呼應者鏈的概念,在IOS中,一切事宜有一個最早呼應者,事宜可以沿著呼應者鏈向下傳遞。
接上去是UIControl對象
UIControl是UIView的子類,固然也是UIResponder的子類。UIControl是諸如UIButton、UISwitch、UITextField等控件的父類,它自己也包括了一些屬性和辦法,然則不克不及直接應用UIControl類,它只是界說了子類都須要應用的辦法。
UIControl對象采取了一種新的事宜處置機制,將前一節直接處置的觸摸事宜轉換成簡略操作,如許可以無需關懷用戶拜訪控件的詳細方法。觸摸事宜達到UIControl對象(由呼應者鏈吩咐消磨)後,在UIResponder的辦法中(如touchBegan:withEvent)中,UIControl將尺度的觸摸事宜轉換為特別的控件事宜,簡略的懂得就是,UIControl把龐雜的觸摸事宜封裝成了簡略的易於應用的控件事宜。例如經由過程UIControl對象處置後,按下按鈕的事宜就被封裝成一個控件事宜,而不消去斷定觸摸屏幕的全部操作進程。
例如按鈕的單擊事宜:UIControlEventTouchUpInside
我們所須要曉得的是UIControl起首將觸摸事宜轉換為控件事宜,再轉換為帶吸收放的操作。我們只需編寫第二次轉換的代碼,就是將控件事宜轉換為有目的的操作。
應用addTarget:action:forControlEvents
這是UIControl的一個辦法,為指定的控件對象添加事宜,例如:
[controlObj addTarget:recepientObj action @selector(method) froControlEvents : UIControlEvents];
controlObj是要呼應事宜的控件對象;
參數receientObj是要把新聞發送到哪裡,普通是self,平日指實例化控件對象的掌握器;
action前面是一個選擇器,表現該事宜須要呼應的辦法,事宜做甚麼其實就寫在這個辦法外面;
最初一個是事宜類型,表現呼應甚麼樣的事宜。
應用的兩種方法:
1.經由過程代碼
在代碼中新建一個按鈕,然後為按鈕對象添加addTarget:action:forControlEvents辦法,然後編寫呼應辦法便可。
2.經由過程可視化完成
在IB中按住control鍵,點擊鼠標從按鈕拖動到對應的.h文件中,就樹立了一個IBAction辦法,在此辦法中編寫事宜邏輯即可完成事宜呼應,用這類辦法比擬第一種來講更直不雅,開辟效力也更高。
後續還會應用IOS中其他控件,但年夜致道理都是一樣的,前面會聯合新的常識來應用這些控件,包含對控件的自界說款式等。
【深刻淺析IOS中UIControl】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!