当事件传递到相应的UIResponder后,会首先调用:

hitTest:withEvent: return (UIView *)

UIApplication -> UIWindow
什么时候调用:当事件传递给一个控件的时候就会调用
作用:找最合适的viewhitTest:withEvent: return (UIView *)
1.看窗口是否能接收。 如果不能 return nil; 自己不能接收事件,也不能处理事件,而且也不能把事件传递给子控件。
2.判断点在不在窗口上 如果点在窗口上,意味着窗口满足合适的view
3.白色的view hitTest:withEvent: return nil

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
// 把左边控件上的点转换为右边上边控件的点
// CGPoint buttonPoint = [self convertPoint:point toView:_button];

// 从右边这个view上的点转换为坐标上的点
CGPoint buttonPoint =[_button convertPoint:point fromView:self];
if ([_button pointInside:buttonPoint withEvent:event]) return NO;return [super pointInside:point withEvent:event];

}

iOS手势操作简介(四)相关推荐

  1. iOS手势操作简介(五)

    利用手势操作实现抽屉效果: 第一步:搭建UI (void)addChildView { // left UIView *leftView = [[UIView alloc] initWithFrame ...

  2. iOS手势操作简介(一)

    iOS中能够响应手势操作的类必须要继承自UIResponder,才能够处理手势响应操作. 默认继承了UIResponder的类有:UIApplication UIViewController UIVi ...

  3. iOS手势操作简介(三)

    监听触摸事件的做法 如果想监听一个view上面的触摸事件,之前的做法是 自定义一个view 实现view的touches方法,在方法内部实现具体处理代码 通过touches方法监听view触摸事件,有 ...

  4. iOS手势操作简介(六)

    利用UIGestureRecognizer来对手势进行处理: @interface HMViewController () @property (weak, nonatomic) IBOutlet U ...

  5. iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义

    http://www.cnblogs.com/huangjianwu/p/4675648.html 1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动 ...

  6. iOS开发中手势处理简介(二)

    iOS中手势操作事件的产生于传递 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中 UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处 ...

  7. iOS——6种系统手势操作

    UIGestureRecognizer(手势识别器) 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了六种常用的手势(UIGestureRe ...

  8. iOS开发系列课程(08) --- 事件处理详解和手势操作

    iOS中的事件分发 事件的分类 Touch Events(多点触摸事件) touchesBegan:withEvent:方法:一个或多个手指置于视图或窗口上 touchesMoved:withEven ...

  9. 【iOS】--手势操作

    文章目录 UIGestureRecognizer 的继承关系: 使用手势步骤 UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(拖动) UIRot ...

最新文章

  1. 【系列】EOS开发3 EOS提供的程序和工具
  2. 4个计算机视觉领域用作迁移学习的模型
  3. java调用matlab 数组_JAVA调用matlab程序 输入输出数据转换
  4. vs2019中如何创建qt项目_VS2019创建新项目居然没有.NET Core3.0的模板?
  5. 七、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(上)
  6. JDK14性能管理工具:Jconsole详解
  7. java resume过时方法_面试官没想到,一个 Java 线程生命周期,我可以扯半小时
  8. CSDN开发者周刊 TDengine:专为物联网订制的大数据平台 YugaByte DB:高性能的分布式ACID事务数据库
  9. mysql my includedir_MySQL:读取my.cnf的顺序问题
  10. 使用Xmanger登陆aix系统桌面时报桌面服务DT未启动问题
  11. 【每日算法Day 73】学妹大半夜私聊我有空吗,然后竟然做出这种事!
  12. 用J-Link调试S3C6410(2) --- 运行Leds程序:jink原理
  13. 常见端口对应服务及入侵方式
  14. CreateJS实现打飞机小游戏
  15. 《简单法则》读书笔记
  16. 【彻底解决】Win10设置开机自动开启【移动热点】
  17. upcoj 2525 Twinkle Twinkle Little Star 题解
  18. spring boot中Excel文件下载踩坑大全
  19. Win10如何删除英语(美国)美式键盘
  20. openssl C++ DSA对指定文件内容签名和解签

热门文章

  1. ftp 文件服务器预览,web文件服务器 ftp 预览
  2. c 11 主要的新语言特性,关于c ++ 11:有没有办法确定C ++编译器实现的语言特性?...
  3. 汇编语言实现计算器---可加减乘除括号负数混合运算
  4. POJ 1176 Party Lamps USACO 2.2 派对灯(搜索)
  5. 玩转mini2440开发板之【制作和修改linux启动logo图片】
  6. 从数据结构到算法:图网络方法初探
  7. [机器学习] gcForest 官方代码详解
  8. csdn无人驾驶汽车_无人驾驶汽车100年历史
  9. 谷歌 colab_使用Google Colab在Python中将图像和遮罩拆分为多个部分
  10. dash使用_使用Dash和SHAP构建和部署可解释的AI仪表盘