iOS 控制項響應使用者控制事件之事件處理

2021-07-14 23:49:46 字數 1297 閱讀 5467

原文  

//加速計事件 

//遠端控制事件 

uitouch的作用 

uitouch的方法 

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

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

常見屬性 

事件型別 

@property(nonatomic,readonly)

uieventtype type

; @property(nonatomic,readonly)

uieventsubtype subtype

;

事件產生的時間
@property(nonatomic,readonly) nstimeinterval  timestamp;
3.主視窗會在檢視層次結構中找到乙個最合適的檢視來處理觸控事件,這也是整個事件處理過程的第一步 

4.找到合適的檢視控制項後,就會呼叫檢視控制項的touches方法來作具體的事件處理 

touchesbegan…

touchesmoved…

touchedended…

如果父控制項不能接收觸控事件,那麼子控制項就不可能接收到觸控事件(掌握) 

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

// point:是方法呼叫者座標系上的觸控點的位置

- (uiview *)hittest:(cgpoint)point withevent:(uievent *)event

} // 表示沒有比自己更合適的view

uigesturerecognizer是乙個抽象類,定義了所有手勢的基本行為,使用它的子類才能處理具體的手勢

uitapgesturerecognizer(敲擊)

uipinchgesturerecognizer(捏合,用於縮放)

uipangesturerecognizer(拖拽)

uiswipegesturerecognizer(輕掃)

uirotationgesturerecognizer(旋轉)

uilongpressgesturerecognizer(長按)

使用者控制項觸發事件

假定使用者控制項 usercontrol.ascx 中包含按鈕控制項 abutton 希望實現按 abutton 按鈕時,包含該使用者控制項的頁面可以接收到事件。為此,在使用者控制項和頁面的 中分別作了處理。usercontrol.ascx.cs 中的處理 1.定義public 的事件委託,如 cl...

MFC BS GROUPBOX 響應子控制項事件

使用vs2012做專案,需要動態建立多個按鈕,且按鈕都要分組管理。1 首先定義乙個子類mypanel,繼承cbutton 在create時設定按鈕的樣式為bs groupbox,即可定義成乙個容器控制項 2 再定義裡面的按鈕或其他控制項,父控制項指向mypanel,例 ptermitem btnte...

iOS事件傳遞 響應者鏈

事件傳遞 響應者鏈 對於觸控事件來說,window 會傳到 發生觸控的view,被稱之為hit test view。此過程叫 hit testing。對於手勢和遠端控制,這個第一響應被發到 first responder.最終響應者鏈要找到處理事件的物件。規則如下。1 hit testing 檢測的...