shouldReceiveTouch 未触发
shouldReceiveTouch not firing
我正试图从我的 TapGestureRecognizer 中排除一个子视图。
已在sotryboard中创建,delegate连接controller
在我的 ViewControler 中,我有 GestureRecognizerDelegate 协议,我已经设置了我的 gesture.delegate = self.
虽然没有调用 shouldReceiveTouch Gesturerecognizer 函数,但知道吗?
下面是代码的一部分:
class DetailedPostViewController: UIViewController, UITextViewDelegate, MKMapViewDelegate, UIGestureRecognizerDelegate {
let circularLike = CircularLike(frame: CGRectZero)
@IBOutlet var gesture: UITapGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
gesture.delegate = self
self.view.addSubview(circularLike)
circularLike.frame = self.view.bounds
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
if touch.view!.isDescendantOfView(circularLike){
return false
}
return true
}
@IBAction func UserTap(sender: AnyObject) {
if fromUser {
dismissViewControllerAnimated(true, completion: nil)
} else {
performSegueWithIdentifier("userPage", sender: nil)
}
}
@IBAction func hideUnhide(sender: UIGestureRecognizer) {
if hide {
hide=false
unhideUi()
} else {
hide = true
hideUi()
}
}
}
好的,事实上,我只需要将我的子视图 userTouchEnabled 参数设置为 false,然后它就会触发 ShouldRecieveTouch 函数 ...
我正试图从我的 TapGestureRecognizer 中排除一个子视图。 已在sotryboard中创建,delegate连接controller
在我的 ViewControler 中,我有 GestureRecognizerDelegate 协议,我已经设置了我的 gesture.delegate = self.
虽然没有调用 shouldReceiveTouch Gesturerecognizer 函数,但知道吗?
下面是代码的一部分:
class DetailedPostViewController: UIViewController, UITextViewDelegate, MKMapViewDelegate, UIGestureRecognizerDelegate {
let circularLike = CircularLike(frame: CGRectZero)
@IBOutlet var gesture: UITapGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
gesture.delegate = self
self.view.addSubview(circularLike)
circularLike.frame = self.view.bounds
}
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
if touch.view!.isDescendantOfView(circularLike){
return false
}
return true
}
@IBAction func UserTap(sender: AnyObject) {
if fromUser {
dismissViewControllerAnimated(true, completion: nil)
} else {
performSegueWithIdentifier("userPage", sender: nil)
}
}
@IBAction func hideUnhide(sender: UIGestureRecognizer) {
if hide {
hide=false
unhideUi()
} else {
hide = true
hideUi()
}
}
}
好的,事实上,我只需要将我的子视图 userTouchEnabled 参数设置为 false,然后它就会触发 ShouldRecieveTouch 函数 ...