最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入淺析IOS中UIControl

 更新時(shí)間:2015年10月19日 10:38:47   投稿:mrr  
UIControl,相信大家對(duì)其并不陌生吧,比如平常最常用的UIButton就是繼承自UIControl的。下面通過(guò)本篇文章給大家介紹ios中UIControl,感興趣的朋友一起學(xué)習(xí)吧

UIEvent是一系列UITouch的集合,在IOS中負(fù)責(zé)響應(yīng)觸摸事件。另外還提到了響應(yīng)者鏈的概念,在IOS中,所有事件有一個(gè)最先響應(yīng)者,事件可以沿著響應(yīng)者鏈向下傳遞。

接下來(lái)是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ā)效率也更高。

后續(xù)還會(huì)使用IOS中其他控件,但大致原理都是一樣的,后面會(huì)結(jié)合新的知識(shí)來(lái)使用這些控件,包括對(duì)控件的自定義樣式等。

相關(guān)文章

最新評(píng)論

佛冈县| 苍山县| 黑水县| 勐海县| 卢龙县| 德令哈市| 洪泽县| 宜章县| 克东县| 江陵县| 青冈县| 澄城县| 伊川县| 安康市| 凤冈县| 惠州市| 晋城| 家居| 屏边| 天台县| 东平县| 西林县| 西贡区| 巴彦淖尔市| 右玉县| 乐至县| 若尔盖县| 扎鲁特旗| 富蕴县| 唐山市| 斗六市| 正镶白旗| 锡林浩特市| 富民县| 林周县| 周宁县| 托克逊县| 德令哈市| 巴彦淖尔市| 诸城市| 崇义县|