UI 事件處理UITouch

2021-07-01 19:57:34 字數 2250 閱讀 7710

一、事件的基本概念

uievent:事件,是由硬體捕捉的⼀個表⽰使用者操作裝置的物件。分三類:觸控事件、晃動事件、遠端控制事件

觸控事件:⽤戶通過觸控裝置螢幕操作物件、輸⼊資料。⽀持多點觸控,包含1個到多個觸控點

二、觸控的基本概念

1、實現觸控:

uiview⽀持觸控事件(因為繼承於uiresponder),⽽且支援多點觸控。

需要定義uiview⼦類,實現觸控相關的⽅法。

touches..began、touches..moved、touches...ended、 touches..canceled。

2、使用觸控實現手勢

⼿勢:有規律的觸控。

uitouch代表觸控在螢幕上的⼀根⼿指。可以獲取觸控時間和觸控位置。

如何獲取touch物件。touches集合中包含了檢視上的所有⼿勢。

三、響應者鏈

響應者鏈:

由多個響應者物件組成的鏈。

響應者:

uiresponder。響應者類。

ios中所有能響應事件(觸控、晃動、遠端事件)的物件都是響應者。

系統定義了⼀個抽象的⽗類uiresponder來表⽰響應者。其⼦類都是響應者。

檢測觸碰檢視:

最終確認觸碰位置,完成響應者鏈的查詢過程。

處理觸碰事件:

檢測到響應者後,實現touchesbegan:withevent:等⽅方法,即處理事件。

如果響應者沒有處理事件,事件會向下傳遞。如果沒有響應者處理,則丟棄觸控事件。

事件處理的順序與觸控檢測查詢相反。

阻斷響應者鏈:

響應者鏈可以被打斷。⽆法完成檢測查詢過程。

檢視類的屬性 : userinteractionenabled。關閉後能阻斷查詢過程。

myview.h檔案的內容

myview.m檔案的內容

UI 事件處理UITouch

在uiresponder父類中封裝著4個事件處理方法 1 void touchesbegan nsset touches withevent uievent event 2 void touchesmoved nsset touches withevent uievent event 3 void ...

UITouch事件處理過程詳解

3 uiresponder 內部提供了方法,處理不同型別的事件 2.處理事件的方法 處理觸控事件 1 void touchesbegan withevent 2 void touchesmoved withevent 3 void touchesended withevent 4 void touc...

觸控事件UITouch的用法

觸控螢幕是ios裝置接受使用者輸入的主要方式,包括單擊 雙擊 撥動以及多點觸控等,這些操作都會產生觸控事件。在cocoa中,代表觸控物件的類是 uitouch 當使用者觸控螢幕幕後,就會產生相應的事件,所有相關的uitouch物件都被包裝在事件中,被程式交由特定的物件來處理。uitouch物件直接包...