2016-02-25 155 views
0

我在其子視圖上雙擊了一個視圖UITapGestureRecognizer,並單擊了一個水龍頭UITapGestureRecognizer父視圖上的雙擊手勢和子視圖上的單擊手勢

let parentGR = UITapGestureRecognizer(target: self, action: "doubleTappedParent") 
    parentGR.numberOfTapsRequired = 2 
    parentView.addGestureRecognizer(parentGR) 

    let childGR = UITapGestureRecognizer(target: self, action: "singleTappedChild") 
    childGR.numberOfTapsRequired = 1 
    childView.addGestureRecognizer(childGR) 

當我雙擊子視圖時,兩個動作都被觸發。我怎樣才能讓單擊手勢「取消」雙擊手勢?

+0

使用UIGestureRecognizerDelegate丟棄之一,當其他處於活動狀態 – Sandeep

回答

1

使用requireGestureRecognizerToFail創建識別器之間的關係。例如:

gr2.requireGestureRecognizerToFail(gr) 

更新:作爲@ tumber033在評論中提到,在他的榜樣gr2gr應該被交換,所以應該有

parentGR.requireGestureRecognizerToFail(childGR)