tip:
方法一:正常情况下,各个页面都有touchesBegan:withEvent事件的触发。使用该方法
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
// 计算搜索框范围
CGPoint touchPoint = [touch locationInView:self.mainView];
NSLog(@"x = %f, y = %f", touchPoint.x, touchPoint.y);
if (touchPoint.x > (self.bgImg.kkg_x+self.bgImg.kkg_width)&& touchPoint.x < self.bgImg.kkg_x && touchPoint.y > (self.bgImg.kkg_y+self.bgImg.kkg_height) && touchPoint.y < self.bgImg.kkg_y) {
} else {
[self closeAlert];
}
}
方法二:当某个触发事件中断。 有个简单粗暴方法,就是手动添加tap
tip:1.添加代理,2.调用
[self addAGesutreRecognizerForMainViewView];
//MainViewView 没有点击事件
- (void)addAGesutreRecognizerForMainViewView{
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesturedDetected:)];
tapGesture.delegate = self;
[self.mainView addGestureRecognizer:tapGesture];
}
- (void) tapGesturedDetected:(UITapGestureRecognizer *)recognizer{
NSSet *touches=[[NSSet alloc]init];
UITouch *touch = [touches anyObject];
// 计算搜索框范围
CGPoint touchPoint = [touch locationInView:self.mainView];
NSLog(@"x = %f, y = %f", touchPoint.x, touchPoint.y);
if (touchPoint.x > (self.bgImg.kkg_x+self.bgImg.kkg_width)&& touchPoint.x < self.bgImg.kkg_x && touchPoint.y > (self.bgImg.kkg_y+self.bgImg.kkg_height) && touchPoint.y < self.bgImg.kkg_y) {
} else {
[self closeAlert];
}
}
原文:http://www.cnblogs.com/blogwithstudyofwyn/p/5922205.html