これもあとでちゃんと書く
よくあるセルを横にスライドさせたら後ろから削除ボタンが出てくるやつをやろうとしてUIPanGestureRecognizer
登録したらテーブルの縦スクロールが反応しなくなりました
なんか前も同じことで困ってどうやって解決したか忘れたのでメモ
class SwipeView:UIView{
func setupGesture(){
let gesture = UIPanGestureRecognizer(target: self, action: #selector(dragGesture(sender:)))
gesture.delegate = self //デリゲートを忘れないように
self.addGestureRecognizer(gesture)
}
}
extension SwipeView:UIGestureRecognizerDelegate{
//条件を満たすジェスチャーの動き以外はfalseにしてselectorにいかないようにする
override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if let pan = gestureRecognizer as? UIPanGestureRecognizer {
let translation = pan.translation(in: self)
//横方向のスライドの時のみgestureを反応させる
if fabs(translation.x) > fabs(translation.y) {
return true
}
return false
}
return false
}
}