2017-05-08 8 views
0

私にはUITableViewがあります。私は "canEditRowAtIndexPath"を実装していません。SwipeLeftジェスチャーがUITableViewで動作しない

次のコードは、UITableViewを持たないコントローラで動作しますが、UITableViewのコントローラでは動作しません。

私はsetCancelsTouchesInView = NOをgestureRecognizerで試しました。コンテナビューコントローラで

は、私が実装しました:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { 
    return true 
} 
+1

が、これは私が何をしたいんのtableView細胞ではなく、のUITableViewまたはMd.MuzahidulIslam @他のビュー – iMuzahid

+0

にUISwipeGestureRecognizerを追加します。これは標準的なプラクティスですか? – GJain

答えて

0

あなたがよりよい追加してみてください:

UISwipeGestureRecognizer *leftGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandlerLeft:)]; 
[leftGestureRecognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)]; 
[self.view addGestureRecognizer:leftGestureRecognizer]; 
0

を私はあなたがdelegateメソッドを追加しdelegate

leftGestureRecognizer.delegate = self 

を追加すべきだと思いますUITableViewCellラットへのUISwipeGestureRecognizerあなたのcellForRowAtIndexPath方法でこれを追加する彼女よりUITableView 試してみてください。

let recognizer = UISwipeGestureRecognizer(target: collectionView, action: #selector(handleGesture)) 
     recognizer.direction = .left 
     recognizer.numberOfTouchesRequired = 1 
     cell .addGestureRecognizer(recognizer) 

func handleGesture(){ 

    }