為何把這兩個事件歸類在一起?
我後來才明白,ios有乙個手勢事件(uigesturerecognizer)
事件裡有7個功能,不過我只試過前兩個,也就是標題的這兩個(長按、平移滑動)
uilongpressgesturerecognizer
長按uipangesturerecognizer
平移滑動
uitapgesturerecognizer
輕拍uiswipegesturerecognizer
輕掃uipinchgesturerecognizer
捏合縮放
uirotationgesturerecognizer
旋轉uiscreenedgepangesturerecognizer
螢幕邊緣平移
具體如何使用呢?先來說明長按事件的繫結吧
let mlongclick = uilongpressgesturerecognizer(target: self, action: #selector(mbtnlongclick)) // 事件物件然後我們再來寫事件物件裡面的mbtnlongclick方法(事件觸發後呼叫的方法)mbutton.addgesturerecognizer(mlongclick) // 此按鈕繫結乙個事件
@objc func mbtnlongclick(value: uilongpressgesturerecognizer)mbtnlongclick裡面,有幾行注釋的**}
由於我使用的地方在tableview的cell裡面,為了檢測是哪個cell,所以才有這些**
如果你的按鈕物件,不是在cell裡面,這些**不用考慮
下面來說明平移滑動事件,繫結的方法其實也和剛剛的按鈕差不多
這次被繫結的物件,是乙個uiimageview,例如【@iboutletvarmimageview: uiimageview!
】
let mypangesture: uipangesturerecognizer = uipangesturerecognizer.init(target: self, action: #selector(movedselect)) // 事件物件還是一樣,少不了要寫觸發事件後,需要呼叫的方法movedselectmimageview.addgesturerecognizer(mypangesture) // 此mimageview繫結乙個事件
mimageview.isuserinteractionenabled = true // 這東西要開啟,開啟後才能和使用者互動
@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...