IOS开发之手势响应事件优先级的实例详解

来源:爱站网时间:2020-04-24编辑:网友分享
在大多数情况下,手势响应丰富了用户体验,其实很多时候我们并不需要这样的体验,在IOS中有一些禁用手势的功能,但是这种方法很少发生,接下来,就让爱站技术频道小编来讲解IOS开发之手势响应事件优先级的实例详解吧!

在大多数情况下,手势响应丰富了用户体验,其实很多时候我们并不需要这样的体验,在IOS中有一些禁用手势的功能,但是这种方法很少发生,接下来,就让爱站技术频道小编来讲解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开发之手势响应事件优先级的实例详解,对于手势的实现效果小编觉得还是蛮不错的,程序员可以多多偶关注js.aizhan.com。

上一篇:IOS中自定义类中限制使用原生实例化方法

下一篇:IOS视图控制器的生命周期实例详解

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载