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 ...
随机推荐
- 第十课:CSS选择器的介绍和区分
IE7以及以下版本: getElementById是不区分表单元素ID与Name的,因此如果有一个表单元素只定义name,并与我们的目标元素ID同名,并且我们的目标元素在它的后面,那么就会选择到那个表 ...
- 第十七章:jQuery类库
javascript的核心API设计的很简单,但由于浏览器之间的不兼容性,导致客户端的API过于复杂.IE9的到来缓解了这种情况.然而使用javascript的框架或者工具类库,能简化通用操作,处理浏 ...
- c# TextBox只允许输入数字,禁用右键粘贴,允许Ctrl+v粘贴数字
TextBox只允许输入数字,最大长度为10 //TextBox.ShortcutsEnabled为false 禁止右键和Ctrl+v private void txtNumber_KeyPress( ...
- JAVA package-info文件【转】
翻看以前的笔记,看到一个特殊的java文件:pacakge-info.java,虽然有记录,但是不全,就尝试着追踪一下该问题, 分享一下流水账式的结果. 首先,它不能随便被创建.在Eclipse中, ...
- 2015级C程序设计课程开始了
今年重新接手软件工程文科班的教学,应更从的结合文科班学习基础与 学习方式对授课方式进行调整,以便能取得好的教学效果.
- [转]ORACLE 中ROWNUM用法总结!
原文地址:http://www.itpub.net/thread-824147-1-1.html 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between ...
- 5.9-3 用正则表达式判断字符串text是否为合法的手机号
package zfc; public class Zfc { public static void main(String[] args) { //判断手机号格式是否合法 String text = ...
- config 写入
d代码: # __author__ = liukun # coding:utf-8 line = input("please input the config \n :") #提示 ...
- POJ3264 Balanced Lineup
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 44720 Accepted: 20995 ...
- Android:Touch和Click的区别
http://blog.csdn.net/hufeng882412/article/details/7310142 针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent ...