UIResponder 對象詳解

 iOS 中,一個 UIResponder 對象表示一個能夠接收觸摸屏上的觸摸事件的對象,通俗一點的說,就是表示一個能夠接收事件的對象。 spa

       iOS 中,全部顯示在界面上的對象都是從 UIResponder 直接或間接繼承的。 對象

       下面是 UIResponder 類的一些定義信息: blog

 

觸摸事件相關: 繼承

方法名稱 事件

說明 input

touchesBegan:withEvent it

當用戶觸摸到屏幕時調用方法 io

tochesMoved:withEvent sso

當用戶觸摸到屏幕並移動時調用此方法 方法

tochesEnded:withEvent

當觸摸離開屏幕時調用此方法

tochesCancelled:withEvent

當觸摸被取消時調用此方法

 

運動事件相關:

       運動事件是指當用戶以特定方式移動設置,如搖擺設置時,設置會產生運動事件,由如下幾個方法進行處理:

方法名稱

說明

motionBegan:withEvent

運動開始時執行

motionEnded:withEvent

運動結束時執行

motionCancelled:withEvent

運動被取消時執行

 

響應對象鏈相關:

方法名稱

說明

isFirstResponder

指示對象是否爲第一響應者,這裏的第一響應者就是當前有焦點的對象,叫法挺奇怪的,第一次看到真還難以理解這個叫法所表達的意思

nextResponder

下一個響應者,在實現中,通常會返回父級對象

canBecomeFirstResponder

獲取一個布爾值,指定對象是否能夠獲取焦點

becomeFirstResponder

把對象設置爲 firstResponder 對象

canResignFirstResponder

對象是否能夠取消 firstResponder 對象

resignFirstResponder

取消對象爲 firstResponder 對象

 

輸入視圖管理相關:

       輸入視圖是指當對象爲 firstResponder 對象時,顯示另一個視圖用來處理當前對象的信息輸入,如 UITextView  UITextField 兩個對象,在 UITextField 成爲 firstResponder 對象時,會顯示一個系統鍵盤,用來輸入信息。這個鍵盤視圖就是一個輸入視圖了。一共有兩個相關的輸入視圖,一個是 inputView, 另外一個是 inputAccessoryView,這兩個視圖顯示的關係以下圖:

 

 

       從圖中能夠看到, 若是 inputView  inputAccessoryView 兩個屬性都指定了相應的視圖,則 inputAccessoryView 對象顯示在 inputView 對象的上面。

       與輸入相關的還有一個 reloadInputViews 方法用來從新載入輸入視圖。

相關文章
相關標籤/搜索