Tableviewcell中的PanGesture会干扰TableView中的滚动

时间:2017-03-06 03:17:36

标签: ios swift uipangesturerecognizer

我在TableViewCell中添加PanGesture 但在那之后,我无法在TableView中滚动。
我让PanGesture与TableView中的滚动发生碰撞 我尝试了其他解决方案,但它仍然没有用。

我的代码如下。

class ChatlistTabTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIGestureRecognizerDelegate{

@IBOutlet weak var tableView: UITableView!


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let row = allChatroomList[indexPath.row]

    let chatCell = tableView.dequeueReusableCell(withIdentifier: "chatCell") as! ChatListCell

   chatCell.leftSwipe.delegate = self
    return chatCell
}


func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    if gestureRecognizer is UITapGestureRecognizer {
        let location = touch.location(in: tableView)
        return (tableView.indexPathForRow(at: location) == nil)
    }
    return true
}
}

下面是包含TableView的mainView类。

{{1}}

1 个答案:

答案 0 :(得分:0)

在此处使用HorizPanGestureRecognizer:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch05p203gestureRecognizers/ch18p541gestureRecognizers/HorizVertPanGestureRecognizers.swift

如果平移是垂直的,它将失败,因此将允许表视图滚动。