这篇文章主要介绍了IOS开发之手势响应事件优先级的实例详解的相关资料,希望通过本文大家能够掌握手势响应优先级的使用方法,需要的朋友可以参考下
IOS开发之手势响应事件优先级的实例详解
交互响应事件都是通过手势的操作完成的,如点击、或双击、或长按,这些交互都是在视图中完成的,但是不同的视图可能会有不同的交互,有时候就会出现交互响应事件冲突的情况。这时候就需要处理事件优先级,以便达到想要的效果。
示例场景:一个自定义模式视图view中,有一个列表视图table,同时有一个确定的按钮视图button;在view中有一个单击事件UITapGestureRecognizer,在table中点击每个cell也会有点击事件,同样的button中有个点击事件;三个视图中的事件是互不相干的,但也有可能会造成冲突,即达到的效果不是想要的。
解决方案:设置手势代理法,区分响应事件
1 代理协议
UIGestureRecognizerDelegate
2 添加的单击事件
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleClick)];
recognizer.delegate = self;
[self addGestureRecognizer: recognizer];
3 优先级
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if (gestureRecognizer.view == touch.view)
{
return YES;
}
return NO;
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
织梦狗教程
本文标题为:IOS开发之手势响应事件优先级的实例详解
基础教程推荐
猜你喜欢
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Android中的webview监听每次URL变化实例 2023-01-23
- Android多返回栈技术 2023-04-15
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- Flutter手势密码的实现示例(附demo) 2023-04-11
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- android studio按钮监听的5种方法实例详解 2023-01-12
