本文主要是介绍IOS 手势与Button事件互不影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、首先在.h 头文件中添加<UIGestureRecognizerDelegate>委托2、在.m 体文件中添加实现该委托的方法
#pragma mark - UIGestureRecognizerDelegate
// 当一个事件判定为是一个手势时,先进入手势代理方法。该方法中判断点击的视图是不是button如果是button则返回NO,手势不响应该事件,既然没响应,也不会取消该事件的传递。则button会接收到该事件,并作处理;方法二是判断点击位置与button位置是否重合,如果有重合,则表明点击了button
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{// 判断是不是UIButton的类if ([touch.view isKindOfClass:[UIButton class]]){return NO;}else{return YES;}//方法二,判断点击的位置//CGPoint location = [touch locationInView:self.view];/*if(CGRectContainsPoint(self.btn.frame, location)){[self GoOtherView:nil];return NO;}else{return YES;}*/
}
这篇关于IOS 手势与Button事件互不影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!