objective-c - I would like to ask which method to intercept if I want to monitor the Tap click event of UIView?
我想大声告诉你
我想大声告诉你 2017-05-02 09:25:02
0
1
571

When intercepting UIButton events, I know that the sendAction:to:forEvent: method will be executed after the button is clicked, so I can hook this method to do other things. So which method should I intercept for the UIView's Tap event?

我想大声告诉你
我想大声告诉你

reply all(1)
过去多啦不再A梦

The tap event added by the following code

self.backgroundTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleBackgroundTapGesture:)];
self.backgroundTapRecognizer.delegate = self;
[self.maskView addGestureRecognizer:self.backgroundTapRecognizer];

Can be intercepted with shouldReceiveTouch

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([touch.view isDescendantOfView:self.popupView]) { //判断条件,比如是popView
    //NSLog(@"NO");
        return NO; //点击无效
    }
    return YES;
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template