2016-12-13 4 views
0

테이블 뷰를 탭하면 touchesBegantouchesShouldBegin이 트리거됩니다. 그러나 내보기 셀에 UIPanGestureRecognizer도 있고 셀을 패닝하면 다른 셀을 탭하면 이 트리거되지 않습니다.UITableView 탭 동작

왜냐하면 내가 touchesShouldBegin이 필요한 이유는 셀을 이동시킬 때 터치를 멈추고 싶기 때문입니다. 이 작업을 수행하는 데 사용할 수있는 다른 방법이 있습니까? 나는 allowsMultipleSelectionfalsetrue으로 설정하려고 시도했다.

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    print("This will always be printed") 
} 

override func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool { 
    print("This will only be printed when no cells are being panned") 

    return true 
} 

답변

0

봅니다 trueUITableViewdelaysContentTouches 속성을 설정합니다.

당신은 또한이다 당신의 UIPanGestureRecognizerUIGestureRecognizerDelegate하고 있습니다 추가 할 수 있습니다

extension MyViewController: UIGestureRecognizerDelegate { 
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    return true 
    } 
}