2017-05-08 71 views
0

我有一个UITableView。我没有执行“canEditRowAtIndexPath”。SwipeLeft手势不工作UITableView

下面的代码在没有UITableView的控制器上工作,但不能在UITableView的控制器上工作。

我在gestureRecognizer上尝试过setCancelsTouchesInView = NO

在容器视图控制器,我已经实现:

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

添加UISwipeGestureRecognizer到的tableView细胞,而不是UITableView中或其他视图 – iMuzahid

+0

@ Md.MuzahidulIslam此我想要做什么。这是标准做法吗? – GJain

回答

0

你最好尝试添加UISwipeGestureRecognizer到您的UITableViewCell大鼠她比UITableView 尝试在cellForRowAtIndexPath方法添加此:

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

func handleGesture(){ 

    } 
0

我想你应该添加delegate

leftGestureRecognizer.delegate = self 

然后添加delegate方法:

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