区别父试图和子视图的点击事件
2015-10-30 09:54
176 查看
假如,父视图是全屏的半透明viewA,然后在其上有一个相对较小的viewB 则可以根据以下的方法来获取点击viewA时有事件发生,点击viewB没有事件发生
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
//touches,拿到触摸屏上的手指所对应的UITouch对象
UITouch *touch = [touches anyObject];
//拿到手指在self上的坐标
CGPoint pt = [touch locationInView:viewA];
if ((pt.y < viewB.frame.origin.y) || (pt.y > (viewB.frame.origin.y + CGRectGetHeight(viewB.bounds))) || (pt.x < viewB.frame.origin.x) || (pt.x > (viewB.frame.origin.x + CGRectGetWidth(viewB.bounds)))) {
[self btnClose];//事件
}
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
//touches,拿到触摸屏上的手指所对应的UITouch对象
UITouch *touch = [touches anyObject];
//拿到手指在self上的坐标
CGPoint pt = [touch locationInView:viewA];
if ((pt.y < viewB.frame.origin.y) || (pt.y > (viewB.frame.origin.y + CGRectGetHeight(viewB.bounds))) || (pt.x < viewB.frame.origin.x) || (pt.x > (viewB.frame.origin.x + CGRectGetWidth(viewB.bounds)))) {
[self btnClose];//事件
}
}
相关文章推荐
- github优秀开源项目大全-iOS
- 祝福您,亲爱的妈妈
- Subversion和TortoiseSVN安装与配置
- Java注解(Annotation)详解(一)——概述及JDK自带注解
- javascript学习心得
- uitextfield 左侧图片
- Java生成10个随机数,填充一个数组,用消息框显示数组内容,后求和输出
- 如何在CentOS 7上安装Percona服务器
- (高级篇 Netty多协议开发和应用)第十四章-私有协议栈开发
- ehhe
- C++实现逐行从文本文件读取数据
- nodejs之gulp自动化构建工具
- Linux 下如何安装 JDK ,以 Ubuntu 为例。
- python第一章1.1.3 列表
- easyui-tabs简单操作(随笔)
- iOS 7及以上,改变UIStatusBar颜色
- MySQL监控应该知道的九件事
- 国内代码托管
- ios 发布相关材料记录
- (高级篇 Netty多协议开发和应用)第十三章-文件传输