2
我在Swift中遇到了UIPanGestureRecognizer的一個奇怪情況。 我有一個函數可以處理平移手勢,並在UIGestureRecognizerDelegate中指定「false」,這樣就不會有其他手勢干擾Pan。recognitionizer.location(in:recognizer.view)在swift中返回零點
這裏是有問題的情況下:
- 用戶觸摸與1根手指,並開始平移
- 用戶將第二個手指在屏幕上 - 第二個手指被忽略
- 用戶拿起第一根指頭而第二個仍然感人 - 在這一刻我的處理程序被稱爲
recognizer.state == .ended
。問題是,在這個時刻(位置,我獲得通過調用recognizer.location(in: recognizer.view)
,返回(0,0)
我使用了錯誤的方式來獲得該點的點呢?這似乎是因爲第二手指被完全忽視,第一根指頭應該表現爲一個普通鍋,我會得到位置時的狀態==結束
是否記錄了它們不可用?我用你說的解決方法,但我不知道這是否是最佳做法 – gbehar
如果您檢查UIGestureRecognizer,那麼討論的兩個是獲取該信息的唯一方法(沒有觸及:設置,我可以找到 - 我認爲這屬於UIView,可能有一種很好的方式來做到這一點,但我不知道 –
solenoid
UIView會給你在它自己的覆蓋func touchesEnded(_ touches:設置,事件:UIEvent? ),但它似乎並沒有被調用,如果另一個手勢是成功的。 –
solenoid