美文网首页
设置视图为第一响应

设置视图为第一响应

作者: 不慌不忙 | 来源:发表于2017-12-25 17:47 被阅读1次

    很久没遇到了 , 分享一下

    出问题的地方 , (self ==> 一个view , 里面的btn有点击事件)

    UIWindow* window = [UIApplication sharedApplication].windows[0];

    [window addSubview:self];

    将一个view添加到window上 , 在点击这个view(蒙板之类的)时 , 却在触发其他view的点击事件 , 不管是滑动和点击 , 都在触发其他view😆

    那就只响应我要的那个view好了 , 在绘制这个view的.m里重写这个方法 , eg: XXView.m下实现

    - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

    - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

    [super hitTest:point withEvent:event];

    CGPoint btn_P = [self.updateBtn convertPoint:point fromView:self];

    if ([self.gcBtn pointInside:btn_P withEvent:event]) { // 你懂得

    return self.gcBtn;

    }

    return self;//(只针对self处理响应)

    }

    搞定

    相关文章

      网友评论

          本文标题:设置视图为第一响应

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