ioshittest的用法
昨天,发一个一个BUG。应用了一个第三方控件。一切好,效果出来符合要求。
准备收工时,再次进行测试,发现一个很严重后果的BUG,view上的按钮事件都没了。
经过各种测试,发现就是新引入的第三方控件引起。
经过注释代码,进行单步调试。发现
(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event 的用法引起的,看到这里恍然大悟,这个方法注释掉,一切正常。
hitTest的作用:当在一个view上添加一个屏蔽罩,但又不影响对下面view的操作,也就是可以透过屏蔽罩对下面的view进行操作,这个函数就很好用了。
hitTest的用法:将下面的函数添加到UIView的子类中,也就是屏蔽罩类中即可。
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
if (hitView == self)
{
return nil;
}
else
{
return hitView;
}
}
第三方控件代码里将superVIew给返回了,造成的问题。
现在当是复习下,以前的知识吧,写个东西,记录一下。
view超过父级View可以显示,但是不能处理事件。
重要事件说三遍:
view超过父级View可以显示,但是不能处理事件,-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
view超过父级View可以显示,但是不能处理事件,-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
view超过父级View可以显示,但是不能处理事件,-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
都是可以引起问题的地方,还有就是事件要进行注册到对应的target.
ioshittest的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
随机推荐
- 为Windows 8新建工具栏模拟“开始菜单”
微软Windows 8系统的传统桌面中取消了Windows用户熟悉的开始按钮和开始菜单,增加了适合触控操作的磁贴和开始屏幕,部分用户对此感觉不太习惯,认为在传统桌面中还是需要从前那种将所安装程序清晰分 ...
- paper 44 :颜色矩和颜色相关图(color correlogram)
- ie6双边距解决
这个bug是ie6有名的双边距bug:同时为一个元素设置向一个方向偏移和对这个方向进行外边距设置,比如float:left,margin-left:45px;在其他浏览器下是显示正常的,在ie6下这个 ...
- 某个系统配置文件 用户层的SQL
SELECT fpo.user_profile_option_name, fpv.level_id, fpv.level_value, fpv.profile_option_value, fu.use ...
- Javascript中的json操作
<!doctype html> <html> <head> <title>extjs-json</title> <script typ ...
- vim下正则表达式的非贪婪匹配
贪婪模式是: .* 非贪婪模式是: .\{-}
- [CrunchBang]Linux系统下必要的中文字体
sudo apt-get install ttf-droid ttf-wqy-zenhei xfonts-wqy ttf-wqy-microhei ttf-arphic-ukai ttf-arphic ...
- Ceph的客户端安装
Contents [hide] 1 参考 1.1 ceph端口访问控制 1.2 用Kernel方式挂载 1.2.1 安装ELRepo及kernel-lt 1.2.2 修改Grub引导顺序并重启动 1. ...
- :first // :last
描述: 获取匹配的第一个元素 HTML 代码: <ul> <li>list item 1</li> <li>list item 2</li> ...
- Dynamics AX 2012 R2 切换环境后项目导入报错
Reinhard重装了服务器.重装后,导入项目A报错,错误提示如下: A table, Extended Data Type, Base Enum or class called ???? a ...