UITapGestureRecognizer
UITapGestureRecognizer
IOS的手势非常多, 但是特别容易其他视图起冲突的手势,要数UITapGestureRecognizer
于是有了gestureRecognizerShouldBegin:这个方法判断是否应该执行触摸事件
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
BOOL flag = [super gestureRecognizerShouldBegin:gestureRecognizer];
if (flag) {
NSLog(@"gestureRecognizerShouldBegin:");
}
return flag;
}
但是当有多个触摸事件时,我们可能就无所适从
别担心, 当父视图和子视图同时拥有触摸事件时,
如果点击到子视图, 那么不会执行父视图的方法
2. 手势不能共用,手势的监听方法也不能共用
错误的做法: //为下定日期和交货日期设置手势
UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)];
[_DateTF addGestureRecognizer:tap2];
[_PayDateTF addGestureRecognizer:tap2];
这里有两个控件设置了同一个手势, 但是一个手势只能被一个控件拥有,
像上面这种做法, 只有_PayDateTF得到手势, _DateTF没有手势
正确的做法应该是:
正确的做法:
UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)];
[_DateTF addGestureRecognizer:tap1]; //为下定日期和交货日期设置手势
UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)];
[_PayDateTF addGestureRecognizer:tap2];
UITapGestureRecognizer的更多相关文章
- 单击双击手势(UITapGestureRecognizer)
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- iOS开发之UITapGestureRecognizer单双击
转自手势开发 IOS开发之手势——UIGestureRecognizer 共存 在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touch ...
- UITapGestureRecognizer响应顺序是怎么样的
一个scrollview上有几个按钮在scrollview上add 了一个单击事件 singletap = [[UITapGestureRecognizer alloc] initWithTarget ...
- UITapGestureRecognizer 和 CCMenu点击问题
当一个scene中同时有UITapGestureRecognizer和CCMenu,点击时不会响应CCMenu,此时必须对UITapGestureRecognizer进行设置 UITapGesture ...
- UITapGestureRecognizer 的用法
最近在项目中用到了手势操作,键盘回收时还是挺常用的,现在总结下,多谢网络上大神们的分享. 先分享下我在项目中用的代码: UITapGestureRecognizer * mytap=[[UITapGe ...
- iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer
首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
ViewDidLoad中注册手势的部分代码如下: [cpp] view plaincopy UITapGestureRecognizer *oneTap = [[[UITapGestureRecogn ...
- ios UITapGestureRecognizer 单指单击、单指多击、多指单击、多指多击事件操作
转自:http://blog.csdn.net/longzs/article/details/7457108 在ios开发中,需用到对于手指的不同操作,以手指点击为例:分为单指单击.单指多击.多指单击 ...
- swift UITapGestureRecognizer获取点击事件点击的位置point
func picTap(sender: UITapGestureRecognizer) { let point = sender.location(in: sender.view) } 其中获取的po ...
随机推荐
- blur效果,模糊效果css
.blur { -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: b ...
- [设计模式] javascript 之 适配器模式
适配器模式说明 说明: 适配器模式,一般是为要使用的接口,不符本应用或本系统使用,而需引入的中间适配层类或对象的情况: 场景: 就好比我们买了台手机,买回来后发现,充电线插头是三插头,但家里,只有两插 ...
- Nginx下Redmine配置
安装redmine依赖的所有ruby包 cd .. gem install bundler #注意是在网站根目录下执行 bundle install --without development tes ...
- JWPlayer中字幕文件的配置
最近应项目要求研究JWPlayer,视研究进度可能会将解决的问题或者一些配置方法写在这里. jwplayer支持vtt和srt格式的字幕文件,在视频中可以选择加载多个字幕文件(常用于多语言字幕),并且 ...
- MVC学习Day01
~~~~ =============================================================================================== ...
- NOI2005维修数列 splay
好题,错了不知道多少遍.这题其他几个操作都是比较经典的,多了一个最大子序列的.这时候对于当前的区间,最大子序列,可能使左区间的最值,可能是右区间的最值,也可能是整个区间的.所以维护lx[],rx[], ...
- Java-transient
transient的作用及使用方法 都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这 ...
- JS Jquery去除数组重复元素
js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...
- 用freemarker生产静态页面
FreeMarker概述 * FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 * Template + data model = output ...
- rpm常用选项
httpd-2.2.15-39.el6.centos.x86_64.rpmhttpd - 2.2.15- 39.el6.centos. x86_64 .rpm软件名称- ...