设置视图为第一响应
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处理响应)
}
搞定