hitTest的用法:

(1)当在一个view上添加一个屏蔽罩,但又不影响对下面view的操作,也就是可以透过屏蔽罩对下面的view进行操作,这个函数就很好用了。

将下面的函数添加到UIView的子类中,也就是屏蔽罩类中即可。

-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
if (hitView == self)
{
return nil;
}
else
{
return hitView;
}
}
(2)父视图中有布局重叠的且都可响应用户操作的对象,如:ScrollView and Button,如果Button在ScrollView下面,正常情况下Button是不会成为第一响应者的,如果想让Button可以响应在其布局内的触摸事件,可以在Button和ScrollView的父View中重写hitTest:withEvent方法

(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
CGPoint hitPoint = [_testButton convertPoint:point fromView:self];
if ([_testButton pointInside:hitPoint withEvent:event])
    return _testButton;
return [super hitTest:point withEvent:event];

}//_testButton是指定响应对象的 弱 引用

iOS 的UIView 的hitTest的分析相关推荐

  1. iOS使用OCLint做静态代码分析

    iOS使用OCLint做静态代码分析 为什么要做代码检查? 检查代码是否误写或者错写,导致一些问题的产生,不能及时发现 减少工程的警告,防止后续系统版本更新的不兼容问题 规范代码风格,变量和方法的命名 ...

  2. ios 打印 详细错误日志_【专家专栏】林相宇 | IOS错误日志抓取和分析

    原标题:[专家专栏]林相宇 | IOS错误日志抓取和分析 在调试自己和别人的IOS App时,发生Crash是非常正常的情况,分析这些Crash的主要手段之一就是分析Crash发生时产生的错误日志.对 ...

  3. [ios2] UIView的hitTest,pointInside方法详解【转】

    关于UIView的触摸响应事件中,这里有一个常常容易迷惑的方法hitTest:WithEvent.先来看官方的解释:This method traverses the view hierarchy b ...

  4. 《iOS取证实战:调查、分析与移动安全》一2.4 安全

    2.4 安全 各种iPhone设置用来保护用户设备和数据不被非法侵入,其中一些设置是非默认的.此外,某些功能或定制应用程序不像看上去那么安全,这使得用户对安全产生错觉. 2.4.1 设备设置 iPho ...

  5. 《iOS取证实战:调查、分析与移动安全》一3.4 数据存储方式

    3.4 数据存储方式 iPhone上的数据以很多方式进行存储.下面的小节涵盖了每一个数据存储的形式以供审查者了解潜在的证据如何定位或恢复. 内部存储: SQLite 数据库文件: 属性列表: 网络: ...

  6. iOS 组件化 —— 路由设计思路分析

    原文 前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高.为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构.更换适合业 ...

  7. iOS App 自动登录的安全性分析

    转自http://bobao.360.cn/learning/detail/324.html 引子 Cookie 有时也用其复数形式Cookies, 指某些网站为了辨别用户身份.进行session跟踪 ...

  8. iOS 10越狱和Reveal 8分析三方App UI框架教程

    前言 这是一篇写给开发者的博客,如果碰巧非开发者搜到了这篇博客,那么博客的内容可能不适合你. 其实网上Reveal的教程很多,但是很多都是停留在Reveal 1或者Reveal 2时代的博客,不太适合 ...

  9. 《iOS取证实战:调查、分析与移动安全》一1.3 取证审查方法

    1.3 取证审查方法 与任何取证研究一样,这里提供几种方法用于信息获取和分析.无论用任何方式进行信息获取都不能修改源信息,这是信息获取的关键,也可以说是最重要的一点.如果在一些实时系统或移动设备上获取 ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task24. 恢复二叉搜索树
  2. python培训班排行榜-深圳python培训机构排行榜
  3. 杭电oj2072,2091字符串java实现
  4. 华硕老毛子(Padavan)——Ngrok内网穿透解决方案
  5. centos ezhttp mysql_Windows 访问CentOS上Mysq配置说明
  6. ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇
  7. 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素
  8. Linux内核网络协议栈:udp数据包发送(源码解读)
  9. EasyUi – 1.入门
  10. 龙飞船再次发射成功!马斯克无缘现场,因疑似感染新冠……
  11. 安装Oracle 11.2.0
  12. jxbrowser保存文件打开的上次目录,支持单文件,多文件,多窗口
  13. 那些自媒体视频剪辑素材是怎么找到的?
  14. 有关微信小程序接入腾讯云IM即时通讯内容
  15. Python 破解 MD5 暗号
  16. 转一篇经典音响文章《“摩机”宝典之如何“摩功放”》
  17. 解决优学院2.0禁止复制粘贴答案
  18. 自己制作游戏(怎么自己做游戏)
  19. 【信号与系统】—知识点:无失真传输系统、理想低通滤波器
  20. java计算机毕业设计基于springboot+vue+elementUI的旅游网站(源码+数据库+Lw文档)

热门文章

  1. R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型
  2. Linux 打包可执行文件
  3. Liunx userdel删除用户时提示userdel: user *** is currently used by process 12910
  4. EditText的getText()方法
  5. vivado 2021.2下载安装兼容的matlab
  6. SQL审核 | SQLE-SQL审核平台体验报告
  7. 记一次糟糕的驾照学习经历
  8. java web 常见框架
  9. django自带模板使用及语法
  10. 欧拉筛(线性筛)超级详解 - Python3实现