麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > iOS > 正文

深入淺析IOS中UIControl

2020-07-26 03:33:16
字體:
來源:轉載
供稿:網友

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中其他控件,但大致原理都是一樣的,后面會結合新的知識來使用這些控件,包括對控件的自定義樣式等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人午夜免费观看 | 久久久久女人精品毛片九一 | 国产呦在线观看视频 | 久久综合婷婷 | 韩国美女一区 | 日本aaaa片毛片免费观看视频 | 免费视频a| 亚洲极色| 国产91小视频在线观看 | 超碰97人人艹 | 亚洲精品久久久久久久久久 | 国产午夜精品久久久久久免费视 | 少妇一级淫片免费放播放 | 中文字幕在线网 | 国产青草网| 99视频在线观看视频 | 国产一级αv片免费观看 | 国产毛片aaa一区二区三区视频 | 宅男噜噜噜66国产在线观看 | 欧美精品一区二区性色 | 成年片在线观看 | av影院在线播放 | av视在线 | 一级黄色在线免费观看 | 久久精品视频国产 | 日本中文字幕网址 | 一级大黄毛片免费观看 | 久久亚洲网 | www久 | 日韩av有码在线 | 色人阁在线视频 | 青青草成人免费视频在线 | 国产精品久久久久久久久久三级 | 亚洲精品一区中文字幕 | 日本在线播放一区 | 成人男女啪啪免费观看网站四虎 | 日本黄色一级视频 | 国产羞羞视频 | 91热久久免费频精品黑人99 | 在线99热| 欧美爱爱视频 |