2017-05-08 70 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 
}