美文网首页
iOS给父控件加手势但不让子控件响应

iOS给父控件加手势但不让子控件响应

作者: Accepted_ | 来源:发表于2017-03-22 22:51 被阅读0次

比如下图,我给Controller的View加上了一个手势UITapGestureRecognizer,但我并不希望它的子控件(雪青色的View)也响应我父控件的点击事件.

首先,给这个手势设置代理

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];

[self.view addGestureRecognizer:tap];

tap.numberOfTapsRequired = 1;

tap.delegate = self;

实现代理代理方法,在代理方法里判断即可

- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch {

        if([touch.view isDescendantOfView:self.mySubView]) {

                return NO;

        }

        return YES;

}

相关文章

网友评论

      本文标题:iOS给父控件加手势但不让子控件响应

      本文链接:https://www.haomeiwen.com/subject/dimanttx.html