iOS处理视图上同时添加单击与双击手势的冲突问题
_bgView.userInteractionEnabled = YES;
//在cell上添加 bgView,给bgView添加两个手势检测方法
UITapGestureRecognizer *doubleTapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleTap:)];
doubleTapGesture.numberOfTapsRequired =;
// doubleTapGesture.numberOfTouchesRequired =1;
[_bgView addGestureRecognizer:doubleTapGesture]; UITapGestureRecognizer *singleTapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTap:)];
singleTapGesture.numberOfTapsRequired =;
// singleTapGesture.numberOfTouchesRequired =1;
[_bgView addGestureRecognizer:singleTapGesture]; //只有当doubleTapGesture识别失败的时候(即识别出这不是双击操作),singleTapGesture才能开始识别
[singleTapGesture requireGestureRecognizerToFail:doubleTapGesture];
//两个手势分别响应的方法
-(void)handleSingleTap:(UIGestureRecognizer *)sender{
NSLog(@"单击"); } -(void)handleDoubleTap:(UIGestureRecognizer *)sender{
NSLog(@"双击");
}
如果是在cell上添加的视图,则可能与cell点击事件发生冲突,解决办法如下
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
TableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.bgView.gestureRecognizers.firstObject.numberOfTouches) {
NSLog(@"手势响应了");
return;
}
NSLog(@"cell点击");
}
iOS处理视图上同时添加单击与双击手势的冲突问题的更多相关文章
- iOS 同一个View识别单击和双击手势
1.给View添加手势 //view添加两个手势检测方法 self.currentPlayerView.userInteractionEnabled = YES; UITapGestureRecogn ...
- 【转】iOS开发笔记--识别单击还是双击
在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作中的第一次点击.解决这个问题的方法就是:在检测到单击时,需要等一段时间等待第二次点击, ...
- Hololens开发笔记之Gesture手势识别(单击,双击)
本文使用手势识别实现识别单击及双击手势的功能,当单击Cube时改变颜色为蓝色,当双击Cube时改变颜色为绿色. 手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层 ...
- [Javasript] 同时实现单击和双击事件
在同一个元素上同时绑定单击和双击事件: JavaScript <script type="text/javascript"> var timer = 0; var de ...
- odoo14在tree、kanban视图上添加dashboard
效果图: 实现代码:js:view的类型原来1个js给拆分成了4个: view, controller, renderer, model 1.view:AbstractView的子类,这是工厂类:类需 ...
- iOS APP打包上传到APPstore的最新步骤
一.前言: 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事.但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤. 二.准备: ...
- iOS和macOS上的Message-ID和Mail.app深度链接
如何在iOS上通过电子邮件进行无缝的“无密码”身份验证. Apple平台上的邮件和日历集成 在macOS和iOS上查看电子邮件时,邮件会在[检测到的日期和时间]下划线 .您可以与他们互动以创建新的日历 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- iOS上架ipa上传问题那些事
iOS上架ipa上传问题那些事 原文: http://www.jianshu.com/p/1e22543285c2 字数513 阅读312 评论0 喜欢1 通过xcode直接打包上传,不会提示你的ip ...
随机推荐
- H5C3动画
1 渐变 /* 渐变:不同颜色之间的柔和过渡 线性渐变:沿着某条直线发生渐变效果 注意:渐变准备来说是一张背景图 语法:linear-gradient */ background-image: lin ...
- Java Http接收中文乱码解决
当时url传递时,可用 byte[] bytes=reqdata_s.getBytes("ISO-8859-1"); String name=new String(bytes,&q ...
- C#动态显示时间
private void timer1_Tick(object sender, EventArgs e) { DateTime dt = DateTime.Now; label1.Text = dt. ...
- Oracle 12c的可插拔数据库PDB
1. 默认安装之后会有一个可插拔数据库:pdborcl 2. 启动根容器: [oracle@eric ~]$ export ORACLE_SID=orcl [oracle@eric ~]$ sqlpl ...
- 过河卒(NOIP2002)
题目链接:过河卒 直接模拟?会T掉60分. 所以我们可以采用递推,怎么想到的? 因为卒子只能向下或向右走,所以走到一个点的方法数,等于走到它上面点的方法数加上走到它左边点的方法数,这样就可以地推了. ...
- Python之内置函数一
一:绝对值,abs i = abs(-123) print(i) # 打印结果 123 二:判断真假,all,与any 对于all # 每个元素都为真,才是True # 假,0,None," ...
- Seaborn图形可视化库
一.绘图 1)快速生成图 import numpy as np import matplotlib.pyplot as plt def sinplot(filp=): x = np.linspace( ...
- Django的学习(三)————models
models采用的的是类的方式,一个类对应一张表,在django中只需要对类的操作就可以完成数据表的操作,这种方式可以省去写sql语句,完成了sql语句的封装,被叫做 ORM(object relat ...
- mysql之多表查询和pymysql模块
一 多表查找方法 1 交叉连接:不使用任何的判断条件,生成笛卡尔积.第一个表的行数乘以第二个表的行数就等于笛卡尔积结果集的行数. mysql> select * from student,cla ...
- mybatis分页插件Mybatis_PageHelper 简单案例
源码地址(官网,文档) 使用条件: 支持mybatis 3.1.0+ sql 解析工具(jsqlparser.jar) 下载 Mybatis_PageHelper 版本随意,反正我用的5.0.0 m ...