亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入淺析IOS中UIControl

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

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

接下來是UIControl對象

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

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

例如按鈕的單擊事件:UIControlEventTouchUpInside

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

使用addTarget:action:forControlEvents

這是UIControl的一個方法,為指定的控件對象添加事件,例如:

[controlObj addTarget:recepientObj action @selector(method) froControlEvents : UIControlEvents];

controlObj是要響應(yīng)事件的控件對象;

參數(shù)receientObj是要把消息發(fā)送到哪里,一般是self,通常指實例化控件對象的控制器;

action后面是一個選擇器,表示該事件需要響應(yīng)的方法,事件做什么其實就寫在這個方法里面;

最后一個是事件類型,表示響應(yīng)什么樣的事件。

使用的兩種方式:

1.通過代碼

在代碼中新建一個按鈕,然后為按鈕對象添加addTarget:action:forControlEvents方法,然后編寫響應(yīng)方法即可。

2.通過可視化實現(xiàn)

在IB中按住control鍵,點擊鼠標(biāo)從按鈕拖動到對應(yīng)的.h文件中,就建立了一個IBAction方法,在此方法中編寫事件邏輯便可完成事件響應(yīng),用這種方法相比第一種來說更直觀,開發(fā)效率也更高。

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

相關(guān)文章

  • iOS開發(fā)之統(tǒng)計Xcode工程的代碼行數(shù)

    iOS開發(fā)之統(tǒng)計Xcode工程的代碼行數(shù)

    這篇文章主要給大家介紹了在iOS開發(fā)中,如果想要統(tǒng)計Xcode工程的代碼行數(shù)該如何實現(xiàn),文章給出了詳細的方法和示例代碼,對大家的理解和學(xué)習(xí)很有幫助,本文中還分享了統(tǒng)計java文件和xml文件的代碼,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • iOS中使用MD5加密字符串

    iOS中使用MD5加密字符串

    本文主要給大家講解的是在IOS中MD5的加密方式,及詳細使用方法。有需要的小伙伴可以參考下
    2016-06-06
  • iOS實現(xiàn)手動和自動屏幕旋轉(zhuǎn)

    iOS實現(xiàn)手動和自動屏幕旋轉(zhuǎn)

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)手動和自動屏幕旋轉(zhuǎn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • iOS實現(xiàn)動態(tài)元素的引導(dǎo)圖效果

    iOS實現(xiàn)動態(tài)元素的引導(dǎo)圖效果

    這篇文章給大家介紹了iOS實現(xiàn)動態(tài)元素的引導(dǎo)圖效果的步驟,文章給出了示例代碼介紹的很詳細,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-09-09
  • 詳解iOS11關(guān)于導(dǎo)航欄問題

    詳解iOS11關(guān)于導(dǎo)航欄問題

    本篇文章主要介紹了詳解iOS11關(guān)于導(dǎo)航欄問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • iOS開發(fā)之使用Storyboard預(yù)覽UI在不同屏幕上的運行效果

    iOS開發(fā)之使用Storyboard預(yù)覽UI在不同屏幕上的運行效果

    使用Storyboard做開發(fā)效率非常高,為了防止在團隊中發(fā)生沖突,采取的解決辦法是負(fù)責(zé)UI開發(fā)的同事最好每人維護一個Storyboard, 公用的組件使用輕量級的xib或者純代碼來實現(xiàn),下面小編就給大家介紹如何使用Storyboard預(yù)覽UI在不同屏幕上的運行效果,需要的朋友可以參考下
    2015-08-08
  • iOS仿新聞tab標(biāo)題欄效果

    iOS仿新聞tab標(biāo)題欄效果

    這篇文章主要為大家詳細介紹了iOS仿新聞tab標(biāo)題欄效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • iOS粒子路徑移動效果 iOS實現(xiàn)QQ拖動效果

    iOS粒子路徑移動效果 iOS實現(xiàn)QQ拖動效果

    這篇文章主要為大家詳細介紹了iOS粒子路徑移動效果,iOS實現(xiàn)QQ拖動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • iOS中設(shè)置網(wǎng)絡(luò)超時時間+模擬的方法詳解

    iOS中設(shè)置網(wǎng)絡(luò)超時時間+模擬的方法詳解

    這篇文章主要介紹了在iOS中設(shè)置網(wǎng)絡(luò)超時時間+模擬的方法,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • 詳解Swift model 解析的兩種方法

    詳解Swift model 解析的兩種方法

    這篇文章主要介紹了詳解Swift model 解析的兩種方法的相關(guān)資料,希望通過本文大家能夠掌握這里的兩種實現(xiàn)方法,需要的朋友可以參考下
    2017-09-09

最新評論