2012-08-11 74 views
1

我遇到了一個問題,最簡單的解決方案是擴展UIGestureRecognizer的長度。我的意思是說,我需要iOS設備仍然相信用戶在釋放它之後將手指放在屏幕上約0.1秒。我需要設備認爲手指在0.1秒內與用戶釋放此時的位置完全相同。 任何幫助天氣這是可能的將不勝感激! 謝謝!!!擴展手勢長度

編輯: 對不起,最近的回覆,我一直在忙於工作。

詳細說明,我使用了Alan Quartermain所做的一組名爲AQGridView的類。這是一個類似UITableView的類;但是,它將數據顯示在網格中而不是列表中。似乎有一個錯誤(如果我理解正確,並且我可能不會),網格的數據將重新加載到委託方法之前,當用戶結束UIGestureRecognizer時調用該方法,如果用戶釋放其手指同時完成將單元格(從一個網格索引拖到另一個網格索引)非常快速。這會導致一個圖形故障(可以在類集中附帶的跳板示例中重新創建),拖動單元在適當的位置之前或之後在其中放置一個單元格,然後快速跳轉到適當的位置。我相信這是因爲有一個短暫的時間段,當用戶釋放他們的手指時,網格數量是單元格穩定時的-1。 這是對這個問題的一個很差的解釋,但是我能想出最好的解釋。而且,我是一個相對較新的開發人員,可能會解決問題的原因。這就是爲什麼我相信最合適的解決方法是將手勢長度延長很少。如果有人想看看AQGridView類(https://github.com/AlanQuatermain/AQGridView/),我會非常感激!但如果可能的話,更簡單的修復就是模擬用戶在釋放手指之前輸入的觸摸,以便發生所需的動畫。

+0

如果你所描述的手勢做什麼,你想在或0.1秒後做什麼,我們也許能夠給你更好的幫助。 – 2012-08-11 03:11:17

+0

爲什麼需要相信他們的手指還在那裏?你能通過增加延遲來解決問題嗎?例如通過使用'dispatch_after'或'performSelector:afterDelay:'。 – 2012-08-11 03:36:16

回答

0

Inside touchesEnded代表方法,啓動計時器0.1秒,並執行您的selector

你甚至可以對UIGestureRecogniser進行子類化並實現你自己的手勢,檢查這個問題的第一個答案。

參見:custom iOS gesture