2016-12-13 4 views
0

テーブルビューをタップすると、touchesBegantouchesShouldBeginがトリガーされます。しかし、ビューセルにUIPanGestureRecognizerもあります。セルをパンすると、他のセルをタップするとがトリガーされません。UITableViewのタップジェスチャーの動作

私がtouchesShouldBeginが必要な理由は、セルがパンされているときにタッチを止めたいからです。これを行うために私が使用できる他の方法がありますか?私はallowsMultipleSelectionfalsetrueに設定しようとしました。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    print("This will always be printed") 
} 

override func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool { 
    print("This will only be printed when no cells are being panned") 

    return true 
} 

答えて

0

trueUITableViewdelaysContentTouchesプロパティを設定してください。

また、あなたのUIPanGestureRecognizerと持っているにUIGestureRecognizerDelegateを追加しようとすることができます

extension MyViewController: UIGestureRecognizerDelegate { 
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    return true 
    } 
} 
関連する問題