拿手势冲突解决,举个例子
第一种: OC之后常用的iskindof
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
NVRLOG(touch.view)
if (touch.view?.isKind(of:UITableView.self))! {
return false
}
return true
}
第二种: 通过类名字符串判断,适用于那种不知道类名的。
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
NVRLOG(touch.view)
if NSStringFromClass((touch.view?.classForCoder)!) == "UITableViewCellContentView" {
return false
}
return true
}
第三种:OC没有的语法
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
NVRLOG(touch.view)
if touch.view is UITableView {
return false
}
return true
}