文档章节

iOS 子视图超出父视图范围 无法响应点击事件的解决方办法

RainOrz
 RainOrz
发布于 2017/04/11 13:25
字数 258
阅读 32
收藏 0

如果在cell上添加了一个Tableview,但是tableview的范围超出了cell的frame。 此时你去点击超出部分的内容,发现不会进入点击cell的回调。原因是事件响应断了。当我们点击屏幕的时候,会产生一个点击事件,该事件从下往上一层层传递,当子视图超出父视图时,事件传递会返回nil,就是系统认为没有对象响应这个点击事件,因为你的点击范围不在父视图内。此时需要重写一个方法,返回响应这个事件的对象:如下

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

{

    UIView *view = [super hitTest:point withEvent:event];

    

    if (view == nil) {

        for (UIView *subView in self.subviews) {

            CGPoint myPoint = [subView convertPoint:point fromView:self];

            if (CGRectContainsPoint(subView.bounds, myPoint)) {

                

                return subView;

            }

        }

    }

    

    return view;

}

}

此方法写在父视图上

参考链接:http://blog.csdn.net/shuai_summer/article/details/52221223

http://www.360doc.com/content/15/0501/21/2735774_467330952.shtml

http://blog.csdn.net/jiajiayouba/article/details/23447145

本文转载自:http://blog.csdn.net/shuai_summer/article/details/52221223

共有 人打赏支持
RainOrz
粉丝 8
博文 123
码字总数 85815
作品 0
青浦
程序员
iOS文档补完计划--UIView

UIView可以说是我们日常工作中接触最多的一个对象、是所有视图控件(不包括视图控制器)的基类。 主要的功能包括视图样式、层级、约束、自动布局、渲染、手势、动画、坐标转换等等。 其中有些东...

kirito_song
09/17
0
0
iOS UI事件传递与响应者链

转载:http://www.cocoachina.com/ios/20171012/20771.html 响应者链 响应者对象:继承自UIResponder的对象称之为响应者对象。UIApplication、UIWindow、UIViewController和所有继承UIView的...

法斗斗
05/25
0
0
MBProgressHUD的两个注意点

注意点一 removeFromSuperview Unlinks the receiver from its superview and its window, and removes it from the responder chain. 译:把当前view从它的父view和窗口中移除,同时也把它从......

iNiL0119
2013/11/24
0
0
常见的移动端H5页面开发遇到的坑和解决办法

手机共通问题 问题一:用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经研究发现是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页字会非常小,所以苹果...

webmirror
05/02
0
0
【IOS】关于处于表视图行单元 contentView 中的 UIButton 短按不产生高亮效果的

在做demo时, 发现 中的 短按一次看不到默认的变灰效果, 停留稍长才能变灰, 比如twitter官方客户端用户头像, 微博的转评赞三按钮。 微博各类客户端的头像和其他按钮也是这样, 头像很多直接是i...

包灬子
2014/09/10
0
1

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
10
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
15
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
20
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
13
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部