第一種: 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
}
注:只為記錄。
原文鏈接:https://cloud.tencent.com/developer/article/1383422