問題:UItableview和tap手勢會產(chǎn)生沖突
(tap手勢覆蓋區(qū)有兩個view,一個view需要響應(yīng)tap基跑,一個需要view自己處理,
由于view被tap手勢覆蓋,沒辦法自己處理)
解決辦法:
1.原代碼:
? ? ? ? view.addGestureRecognizer(UITapGestureRecognizer(target:self, action:#selector(handleTap(_:))))
修改后代碼:
lettapAction =UITapGestureRecognizer(target:self, action:#selector(handleTap(_:)))
? ? ? ? tapAction.delegate=self
? ? ? ? view.addGestureRecognizer(tapAction)
目的是給tap指定delegate父虑。
2.self類繼承?UIGestureRecognizerDelegate
(view所在controller)
class ChatDetailViewController: UIViewController ,UITableViewDelegate,UIGestureRecognizerDelegate{
3.重寫函數(shù),增加判斷條件不需要tap手勢響應(yīng)返回false授药。
? ? funcgestureRecognizer(_gestureRecognizer:UIGestureRecognizer, shouldReceive touch:UITouch) ->Bool{
? ? ? ? if touch.view?.restorationIdentifier == "contactlist"{
? ? ? ? ? ? returnfalse
? ? ? ? }
? ? ? ? return true
? ? }