2015-04-01 59 views
3

我對長按手勢識別器有一個有趣的問題。我將其中的一個放在UITableView上,並且只有在長按之後擡起手指時才起作用。所以基本上,我會把手指放在牢房上,然後當我擡起手指時,它會觸發長按。在長按開始和結束時,我通過放printn來解決這個問題,並且在我舉起手指後都開火。我認爲tableViews默認panGestureRecognizer可能會干擾longPressGestureRecognizer。這是我在viewDidLoad代碼:長按手勢識別器只在手指擡起時被觸發

var longPress:UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "handleLongPress:") 
    longPress.minimumPressDuration = 0.06 
    longPress.delegate = self 
    self.tableView.addGestureRecognizer(longPress) 
    longPress.requireGestureRecognizerToFail(self.tableView.panGestureRecognizer) 

回答

1

在電池觸壓不會造成表視圖的panGestureRecognizer失敗,所以刪除requireGestureRecognizerToFail方法,然後你應該得到的.Began狀態,而你的手指仍然是下。

+0

是的,但我的長按手勢識別器會干擾我的手勢識別器。我有點卡在一個堅硬的地方。 – codeforfood 2015-04-01 03:18:36

+0

@codeforfood您嘗試實施 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:並返回true? – rdelmar 2015-04-01 05:47:38

+0

是的,我做過,長篇作品,但隨後每當我滾動我的長按事件被解僱。請記住,我的長時間記錄實際上很短,所以可能與它有關。 – codeforfood 2015-04-01 05:51:59