设置视图为第一响应

2017-12-25  本文已影响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处理响应)

}

搞定

上一篇下一篇

猜你喜欢

热点阅读