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];

最新文章

  1. mac下获取应用签名
  2. linux编译curl库的动态库so(转)
  3. asp.net ToString()格式汇总
  4. 2、[转]WPF与WinForm的比较
  5. js脚本同步、异步与延迟
  6. android项目--上下文菜单
  7. IPv4子网掩码回顾
  8. 《31天成为IT服务达人》最新文件夹
  9. 部署 k8s Cluster(上)- 每天5分钟玩转 Docker 容器技术(118)
  10. 一份完整的阿里云 Redis 开发规范,值得收藏!
  11. .net Lambda表达式与Linq (LINQ TO object)
  12. java38
  13. 51nod 算法马拉松30
  14. HDU 1232 畅通工程 (并查集)
  15. Python3 线程/进程池 concurrent.futures
  16. Linux导出/导入逻辑卷组信息
  17. H5 Js图片转base64编码
  18. Ubuntu16.04使用Tarball安装ntp
  19. 【学习ffmpeg】打开视频文件,帧分析,并bmp保存关键帧
  20. Jms学习篇二:ActiveMQ

热门文章

  1. 端口扫描之王——nmap入门精讲(一)
  2. ModernUI教程:第一个ModernUI应用(手动编写)
  3. JS的十大经典算法排序
  4. 学习之路三十二:VS调试的简单技巧
  5. 我的第一个Node web程序
  6. 2016 版 Laravel 系列入门教程(二)【最适合中国人的 Laravel 教程】
  7. Android平台的开发环境的发展演变
  8. hdu4287 字典树
  9. Jquery-处理iframe的高度自适应
  10. SQLServer复制表