iOS点击事件穿透及扩大视图点击区域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS点击事件穿透及扩大视图点击区域相关的知识,希望对你有一定的参考价值。

参考技术A 点击事件穿透指的是点击当前视图,但是实际上被选中的是其他视图。举个例子,下方效果图中有两个按钮,当点击不重合的地方,显示的是点击当前视图,当点击重合地方时,点击的是下方的视图。

意思是这个方法会递归调用 -pointInside:withEvent: 这个方法,point是接收者的坐标系,也就是点击的这个点在视图中的相对坐标。

实现点击事件穿透的本质是在视图中判断点击的点是否属于你想要点击的视图,然后判断返回相应的视图即可。
在这里,附上上方效果做法。
自定义按钮视图,并放置一个可传入的按钮。如下:

设置UI和点击方法,如下:

扩大视图点击区域的本质是判断所点击的点是否在于你想要扩大的区域上。在这里,楼主所设置的扩大区域是边线外增加30。实现如下,自定义视图:

设置UI和点击方法,如下:

以上是关于iOS点击事件穿透及扩大视图点击区域的主要内容,如果未能解决你的问题,请参考以下文章

iOS之扩大UIButton(UIView)的点击范围

Android 扩大 View 的点击区域

Android 扩大 View 的点击区域

IOS 触摸事件分发机制详解

iOS:如何实现遮罩视图事件穿透?

移动端H5页面点击穿透问题