UI視圖交互與事件機制

1、UIButon控件詳解ide

<>UIButtonUILabel的區別與聯繫spa

聯繫:都是UIView的直接或間接的子類,都具備UIView的屬性和行爲,UIView表明及其子類都表明一個矩形區域。orm

區別:繼承

    一、UILabel是直接繼承UIView,而UIButton是間接繼承其父類UIControl是直接繼承UIview事件

     2UIView有一個屬性叫作userInteractionEnable(該屬性決定是否可以接受並響應事件),UILabel爲NO,UIcontrol及其全部的子類的userInteractionEnable屬性的值默認爲YES,UIControl及其子類響應事件每每是經過addTarget方法,天加點擊事件圖片

<二>UIButton的建立rem

一、經過默認樣式建立get

二、經過自定義建立it

<三>屬性io

配置按鈕標題的屬性和方法:


- titleLabel屬性:按鈕標題的標籤

- titleForState:方法:指定狀態下的按鈕標題

- setTitle:forState:方法:設置指定狀態下按鈕的標題

- titleColorForState:方法:指定狀態下的按鈕標題顏色

- setTitleColor:forState:方法:設置指定狀態下按鈕標題的顏色

- setTitleShadowColor:forState:方法:設置指定狀態下按鈕標題陰影的顏色


配置按鈕顯示的方法:


- backgroundImageForState:方法:得到指定狀態下的背景圖

- setBackgroundImage:forState:方法:設置指定狀態下的背景圖

- imageForState:方法:得到指定狀 態下的按鈕圖片

- setImage:forState:方法:設置指定狀態下的按鈕圖片


配置邊距的屬性:


- contentEdgeInsets屬性:內容的邊距

- titleEdgeInsets屬性:標題的邊距

- imageEdgeInsets屬性:圖片的邊距


獲取按鈕當前狀態的屬性:


- buttonType屬性:可能的取值包括UIButtonTypeCustom、UIButtonTypeSystem、UIButtonTypeDetailDisclosure、UIButtonTypeInfoLight、UIButtonTypeInfoDark、UIButtonTypeContactAdd、UIButtonTypeRounedRect(過期)。

- currentTitle屬性:按鈕上當前顯示的標題

- currentTitleColor屬性:當前標題顏色

- currentImage屬性:按鈕上當前顯示的圖片

- currentBackgroundImage屬性:按鈕上當前顯示的背景圖片

- imageView屬性:按鈕上的圖片視圖


繼承自UIControl的屬性和方法:


- addTarget:action:forControlEvents:方法:將爲事件添加的消息接受者和對應的動做加入事件派發表,簡而言之就是爲控件綁定事件處理的回調方法

- removeTarget:action:forControlEvents:方法:與上面方法的做用相反

- enabled屬性:控件是啓動仍是禁用

- state屬性:控件所處的狀態



###UIButton的經常使用事件和狀態###


咱們先說一下UIControl的全部可能的事件。


事件類型|說明

:--|:--

UIControlEventTouchDown|單點觸摸按下事件,用戶點觸屏幕,或者又有新手指落下的時候

UIControlEventTouchDownRepeat|多點觸摸按下事件,點觸計數大於1:用戶按下第2、3、或第四根手指的時候

UIControlEventTouchDragInside|當一次觸摸在控件窗口內拖動時

UIControlEventTouchDragOutside|當一次觸摸在控件窗口以外拖動時

UIControlEventTouchDragEnter|當一次觸摸從控件窗口以外拖動到內部時

UIControlEventTouchDragExit|當一次觸摸從控件窗口內部拖動到外部時

UIControlEventTouchUpInside|全部在控件以內觸摸擡起事件

UIControlEventTouchUpOutside|全部在控件以外觸摸擡起事件(點觸必須開始與控件內部纔會發送通知)

UIControlEventTouchCancel|全部觸摸取消事件,即一次觸摸由於放上了太多手指而被取消,或者被上鎖或者電話呼叫打斷

UIControlEventTouchChanged|當控件的值發生改變時,發送通知。用於滑塊、分段控件、以及其餘取值的控件。你能夠配置滑塊控件什麼時候發送通知,在滑塊被放下時發送,或者在被拖動時發送

UIControlEventEditingDidBegin|當文本控件中開始編輯時發送通知

UIControlEventEditingChanged|當文本控件中的文本被改變時發送通知

UIControlEventEditingDidEnd|當文本控件中編輯結束時發送通知

UIControlEventEditingDidOnExit|當文本控件內經過按下回車鍵(或等價行爲)結束編輯時,發送通知

UIControlEventAlltouchEvents|通知全部觸摸事件

UIControlEventAllEditingEvents|通知全部關於文本編輯的事件

UIControlEventAllEvents|通知全部事件


對於UIButton來講,可能絕大多數處理的都是UIControlEventTouchUpInside事件,簡單的說就是按鈕點擊的事件。

相關文章
相關標籤/搜索