博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
超过父控件的部分不能响应事件怎么办
阅读量:5925 次
发布时间:2019-06-19

本文共 715 字,大约阅读时间需要 2 分钟。

##前言 ###一个朋友问我过一个这样的问题,他在底部的tabBar上面加了一个控件,这个控件超出了底部的tabBar,超出的部分无法响应事件,怎么办?

###相信大家应该明白为什么不能响应事件的原因,就是响应者链条么,你父控件不能响应,系统就认为你也不能响应,具体的内容请看

我这里自定义了一个tabBar,在里面重写了 -(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event方法,这个方法主要是用来检查该触摸点是否在该控件所在的矩形区域内,你只要在这个方法里让超出的部分返回为YES,就可以了.

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{if ([super pointInside:point withEvent:event]) {    return [super pointInside:point withEvent:event];}else{    CGRect rect = [self convertRect:self.plusButton.frame toView:self];    return CGRectContainsPoint(rect, point);}}复制代码

说明:如果([super pointInside:point withEvent:event]方法返回的是YES,我不做处理,只有当这个方法返回为NO的时候,才去判断是否在那个加号按钮的范围内,其中用到了frame转换,在按钮的范围内返回为YES,其他的返回为NO.

其他更详细的代码

转载地址:http://rlavx.baihongyu.com/

你可能感兴趣的文章
前端技术周刊 2018-12-03:DOM
查看>>
搭建 vue2 单元测试环境(karma+mocha+webpack3)
查看>>
Unity 游戏框架搭建 (九) 减少加班利器-QConsole
查看>>
Safari 版本回退方法
查看>>
Android 4 +https(如何启动TLS1 1 and TLS1 2)
查看>>
从shiro源码角度学习工厂方法设计模式
查看>>
python面试题~反射,元类,单例
查看>>
java多线程编程——锁优化
查看>>
写一个易于维护使用方便性能可靠的Hybrid框架(一)—— 思路构建
查看>>
为什么阿里巴巴禁止把SimpleDateFormat定义为static类型的?
查看>>
ResourceManager中的Resource Estimator框架介绍与算法剖析
查看>>
5分钟内看懂机器学习和深度学习的区别
查看>>
使用Network Recycle Bin启用映射网络驱动器上的回收站
查看>>
量子计算机的现状和趋势
查看>>
iOS - block变量捕获原理
查看>>
Kotlin Weekly 中文周报
查看>>
Angular 4.x 事件管理器及自定义EventManagerPlugin
查看>>
Java8新的异步编程方式 CompletableFuture(三)
查看>>
基于DeepConvLSTM的传感器信号分类
查看>>
【JS第34期】BOM-window对象
查看>>