觸控事件以及UITouch UIEvent

2021-07-10 02:10:04 字數 693 閱讀 7699

uitouch的常用方法:

1>- (cgpoint)locationinview:(uiview *)view;

2>- (cgpoint)previouslocationinview:(uiview *)view;

在ios中不是任何物件都能處理事件,只有繼承了uiresponder的物件才能接收並處理事件。我們稱之為「響應者物件」

每產生乙個事件,就會產生乙個uievent物件

uievent:稱為事件物件,記錄事件產生的時刻和型別

一次完整的觸控過程中,只會產生乙個事件物件,4個觸控方法都是同乙個event引數

如果兩根手指同時觸控乙個view,那麼view只會呼叫一次touchesbegan:withevent:方法,touches引數中裝著2個uitouch物件

如果這兩根手指一前一後分開觸控同乙個view,那麼view會分別呼叫2次touchesbegan:withevent:方法,並且每次呼叫時的touches引數中只包含乙個uitouch物件

根據touches中uitouch的個數可以判斷出是單點觸控還是多點觸控.

如何找到最合適的控制項來處理事件?

自己是否能接收觸控事件?

觸控點是否在自己身上?

從後往前遍歷子控制項,重複前面的兩個步驟

如果沒有符合條件的子控制項,那麼就自己最適合處理.

uiview不接收觸控事件的三種情況:

TouchView觸控事件

touchview 繼承自uiview 初始化時 self multipletouchenabled yes 開啟多指觸控 取出一根手指 uitouch touch touches anyobject 獲得手指在檢視上的位置 cgpoint point touch locationinview se...

觸控事件處理

ios programming 觸控事件 處理 1 iphone ipad無鍵盤 的 在cocoa中,代表觸控物件的類是uitouch。當使用者觸控螢幕幕後,就會產生相應的事件,所有相關的uitouch物件都被包裝在事件中,被程式交由特定的物件來處理。uitouch物件直接包括觸控的詳細資訊。uit...

01 觸控事件

1.事件處理方法 void viewdidload 重複父類的方法 void touchesbegan nsset touches withevent uievent event 開始觸控 void touchesmoved nsset touches withevent uievent event...