触摸事件响应
2015-07-03 08:35
281 查看
界面类的对象一般都是可以接触点击事件的,只不过有的默认接受,有的需要设定属性。
userInteractionEnabled 属性设置为YES的时候就可以接受点击事件了
- (void)touchesBegan:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesMoved:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesEnded:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesCancelled:(NSSet *)
touches withEvent:(UIEvent *) event
上面三个方法就会显示触摸的地方,可以在里面进行响应的操作
touch事件同时只能给一个对象,那么控制touch事件分配的对象也是一个难点了
首先touch事件响应的优先级就是界面的层次,在最上层不响应的时候就会传递给下层
当点击一个区域,想把想把事件传递下去,其他区域拦截事件的时候又是一个问题了
- (BOOL)pointInside:(CGPoint)point
withEvent:(UIEvent *)event
这个方法可以很好的解决问题,当返回NO的时候就可以传递下去,返回YES的时候当前对象接受点击事件
CGRectContainsPoint(CGRectMake(0, 0, 40, 40),
point);
经常配合这个方法来判断触摸点是否在CGRect内;
PPLAbel 如果不是在链接内就下层响应事件
a60a
userInteractionEnabled 属性设置为YES的时候就可以接受点击事件了
- (void)touchesBegan:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesMoved:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesEnded:(NSSet *)
touches withEvent:(UIEvent *) event
- (void)touchesCancelled:(NSSet *)
touches withEvent:(UIEvent *) event
上面三个方法就会显示触摸的地方,可以在里面进行响应的操作
touch事件同时只能给一个对象,那么控制touch事件分配的对象也是一个难点了
首先touch事件响应的优先级就是界面的层次,在最上层不响应的时候就会传递给下层
当点击一个区域,想把想把事件传递下去,其他区域拦截事件的时候又是一个问题了
- (BOOL)pointInside:(CGPoint)point
withEvent:(UIEvent *)event
这个方法可以很好的解决问题,当返回NO的时候就可以传递下去,返回YES的时候当前对象接受点击事件
CGRectContainsPoint(CGRectMake(0, 0, 40, 40),
point);
经常配合这个方法来判断触摸点是否在CGRect内;
PPLAbel 如果不是在链接内就下层响应事件
- (BOOL) pointInside:(CGPoint)point withEvent:(UIEvent *)event{ for (NSTextCheckingResult *matchin self.matches) { CFIndex index = [selfcharacterIndexAtPoint:point]; if ([selfisIndex:index inRange:match.range]) { returnYES; } } returnNO; }
a60a
相关文章推荐
- 查看网络图片
- udp调用connect有什么作用?
- 编译 xenomai3
- 20150616属性@property
- lua程序设计下载
- WWDC 2015 - 概记
- 《JAVA课程设计》实训第四天——《猜猜看》游戏
- qmap和qlist在构造函数中的初始化
- 《Java课程实习》日志(周四)
- (ros/navigation)安装Installing
- 布局标签和样式表的选择器
- EL表达式应用
- reactor官方文档译文(2)Reactor-core模块
- MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
- android该系统的应用API选择演示版本
- [CodeForces498A]Crazy Town[几何][附简略证明]
- asp.NET
- [转载] 每个 Python 程序员都要知道的日志实践
- 3ds max画曲线 设置摄像机的起始位置
- 有道词典Demo(WebView)