swift 長按事件繫結,平移滑動事件 座標獲取

2022-07-10 14:27:16 字數 1486 閱讀 2382

為何把這兩個事件歸類在一起?

我後來才明白,ios有乙個手勢事件(uigesturerecognizer)

事件裡有7個功能,不過我只試過前兩個,也就是標題的這兩個(長按、平移滑動)

uilongpressgesturerecognizer

長按uipangesturerecognizer

平移滑動

uitapgesturerecognizer

輕拍uiswipegesturerecognizer

輕掃uipinchgesturerecognizer

捏合縮放

uirotationgesturerecognizer

旋轉uiscreenedgepangesturerecognizer

螢幕邊緣平移

具體如何使用呢?先來說明長按事件的繫結吧

let mlongclick = uilongpressgesturerecognizer(target: self, action: #selector(mbtnlongclick)) // 事件物件

mbutton.addgesturerecognizer(mlongclick) // 此按鈕繫結乙個事件

然後我們再來寫事件物件裡面的mbtnlongclick方法(事件觸發後呼叫的方法)

@objc func mbtnlongclick(value: uilongpressgesturerecognizer) 

}

mbtnlongclick裡面,有幾行注釋的**

由於我使用的地方在tableview的cell裡面,為了檢測是哪個cell,所以才有這些**

如果你的按鈕物件,不是在cell裡面,這些**不用考慮 

下面來說明平移滑動事件,繫結的方法其實也和剛剛的按鈕差不多

這次被繫結的物件,是乙個uiimageview,例如【@iboutletvarmimageview: uiimageview!

let mypangesture: uipangesturerecognizer = uipangesturerecognizer.init(target: self, action: #selector(movedselect)) // 事件物件

mimageview.addgesturerecognizer(mypangesture) // 此mimageview繫結乙個事件

mimageview.isuserinteractionenabled = true // 這東西要開啟,開啟後才能和使用者互動

還是一樣,少不了要寫觸發事件後,需要呼叫的方法movedselect

@objc func movedselect(sender: uipangesturerecognizer)
獲取座標的**也在裡面了

其他手勢我沒有試過,嗯....未來有需要用到再來研究吧

UIButton長按事件

新增長按事件 1 void viewdidload 2 18 void btnshort 19 22 void btnlong uilongpressgesturerecognizer gesturerecognizer 28 更多介紹 加個 longpressgesture 設定如下 uilong...

WPF響應長按事件

思路 mousedown 時啟動乙個執行緒並標記ismousedown true,若mouseup則修改標記ismousedown false,執行緒內sleep 1500ms之後判斷ismousedown true則開始響應事件bool isleftmousedown false private ...

WPF響應長按事件

原文 wpf響應長按事件 思路 mousedown 時啟動乙個執行緒並標記ismousedown true,若mouseup則修改標記ismousedown false,執行緒內sleep 1500ms之後判斷ismousedown true則開始響應事件bool isleftmousedown f...