UIControl對(duì)象的介紹

UIControl是UIView的子類事扭,當(dāng)然也是UIResponder的子類求橄。UIControl是諸如UIButton、UISwitch罐农、UITextField等控件的父類,它本身也包含了一些屬性和方法宰睡,但是不能直接使用UIControl類气筋,它只是定義了子類都需要使用的方法。

UIControl對(duì)象采用了一種新的事件處理機(jī)制麸恍,將前一節(jié)直接處理的觸摸事件轉(zhuǎn)換成簡(jiǎn)單操作搀矫,這樣可以無(wú)需關(guān)心用戶訪問(wèn)控件的具體方式。觸摸事件到達(dá)UIControl對(duì)象(由響應(yīng)者鏈派遣)后,在UIResponder的方法中(如touchBegan:withEvent)中肄方,UIControl將標(biāo)準(zhǔn)的觸摸事件轉(zhuǎn)換為特殊的控件事件,簡(jiǎn)單的理解就是虹茶,UIControl把復(fù)雜的觸摸事件封裝成了簡(jiǎn)單的易于使用的控件事件。例如通過(guò)UIControl對(duì)象處理后董济,按下按鈕的事件就被封裝成一個(gè)控件事件要门,而不用去判斷觸摸屏幕的整個(gè)操作過(guò)程。
例如按鈕的單擊事件:UIControlEventTouchUpInside

我們所需要知道的是UIControl首先將觸摸事件轉(zhuǎn)換為控件事件封豪,再轉(zhuǎn)換為帶接收放的操作炒瘟。我們只要編寫(xiě)第二次轉(zhuǎn)換的代碼,就是將控件事件轉(zhuǎn)換為有目標(biāo)的操作缘琅。

使用addTarget:action:forControlEvents
這是UIControl的一個(gè)方法廓推,為指定的控件對(duì)象添加事件受啥,例如:
[controlObj addTarget:recepientObj action @selector(method) froControlEvents : UIControlEvents];
controlObj是要響應(yīng)事件的控件對(duì)象姻报;
參數(shù)receientObj是要把消息發(fā)送到哪里,一般是self藤肢,通常指實(shí)例化控件對(duì)象的控制器;
action后面是一個(gè)選擇器省骂,表示該事件需要響應(yīng)的方法最住,事件做什么其實(shí)就寫(xiě)在這個(gè)方法里面;
最后一個(gè)是事件類型涨缚,表示響應(yīng)什么樣的事件。

使用的兩種方式:
1.通過(guò)代碼
在代碼中新建一個(gè)按鈕兰吟,然后為按鈕對(duì)象添加addTarget:action:forControlEvents方法,然后編寫(xiě)響應(yīng)方法即可履腋。
2.通過(guò)可視化實(shí)現(xiàn)
在IB中按住control鍵惭嚣,點(diǎn)擊鼠標(biāo)從按鈕拖動(dòng)到對(duì)應(yīng)的.h文件中,就建立了一個(gè)IBAction方法奄侠,在此方法中編寫(xiě)事件邏輯便可完成事件響應(yīng)载矿,用這種方法相比第一種來(lái)說(shuō)更直觀,開(kāi)發(fā)效率也更高弯洗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末逢勾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逃贝,更是在濱河造成了極大的恐慌迫摔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沪摄,死亡現(xiàn)場(chǎng)離奇詭異杨拐,居然都是意外死亡擂啥,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)屋吨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事塌碌。” “怎么了翎猛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵切厘,是天一觀的道長(zhǎng)懊缺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)遗座,這世上最難降的妖魔是什么俊扳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮号坡,結(jié)果婚禮上梯醒,老公的妹妹穿的比我還像新娘。我一直安慰自己日麸,他們只是感情好逮光,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布涕刚。 她就那樣靜靜地躺著,像睡著了一般杜漠。 火紅的嫁衣襯著肌膚如雪察净。 梳的紋絲不亂的頭發(fā)上盼樟,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天晨缴,我揣著相機(jī)與錄音,去河邊找鬼筑悴。 笑死稍途,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的突勇。 我是一名探鬼主播坷虑,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摔刁!你這毒婦竟也來(lái)了海蔽?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拗引,失蹤者是張志新(化名)和其女友劉穎幌衣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體哼凯,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡断部,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年班缎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了她渴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔑祟。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疆虚,死狀恐怖对粪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情装蓬,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布纱扭,位于F島的核電站牍帚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏乳蛾。R本人自食惡果不足惜暗赶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肃叶。 院中可真熱鬧蹂随,春花似錦、人聲如沸因惭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)激率。三九已至,卻和暖如春勿决,著一層夾襖步出監(jiān)牢的瞬間乒躺,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工低缩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘉冒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓咆繁,卻偏偏與公主長(zhǎng)得像讳推,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子玩般,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 好奇觸摸事件是如何從屏幕轉(zhuǎn)移到APP內(nèi)的娜遵?困惑于Cell怎么突然不能點(diǎn)擊了?糾結(jié)于如何實(shí)現(xiàn)這個(gè)奇葩響應(yīng)需求壤短?亦或是...
    Lotheve閱讀 56,816評(píng)論 51 598
  • 在iOS開(kāi)發(fā)中經(jīng)常會(huì)涉及到觸摸事件设拟。本想自己總結(jié)一下慨仿,但是遇到了這篇文章,感覺(jué)總結(jié)的已經(jīng)很到位纳胧,特此轉(zhuǎn)載镰吆。作者:L...
    WQ_UESTC閱讀 5,995評(píng)論 4 26
  • 值得注意的事,當(dāng)一個(gè)view上面有多個(gè)手勢(shì)時(shí),touch是無(wú)序的 1事件是怎么樣產(chǎn)生與傳遞的?(由上至下的過(guò)程) ...
    池鵬程閱讀 2,226評(píng)論 0 8
  • UIControl是UIView的子類,當(dāng)然也是UIResponder的子類跑慕。UIControl是諸如UIButt...
    小蘑菇2閱讀 2,030評(píng)論 0 0
  • iOS中有三類事件:UIEventTypeTouches觸摸事件万皿、 UIEventTypeMotion “動(dòng)作”事...
    WeiHing閱讀 36,999評(píng)論 7 69