当前位置: 首页 > news >正文

超过父控件的部分不能响应事件怎么办

##前言 ###一个朋友问我过一个这样的问题,他在底部的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.

其他更详细的代码在这里

相关文章:

  • WKWebView的使用总结(oc与js交互使用心得)
  • JavaScript 中的错误隔离
  • golang测试
  • java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框...
  • 八个维度,谈谈产品经理的分类与发展方向
  • 第一课 安装 登陆CentOS 7
  • 创建和使用数据库
  • CSS中使用expression完美设置页面最小宽度
  • Android 从SetContentView()谈起
  • 为什么volatile不能保证原子性而Atomic可以?
  • SQL优化常用方法44
  • NoSQL
  • session再次理解
  • 陈杰:无服务器架构,让云端开发更纯粹
  • Redis的发布订阅及.NET客户端实现
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • CSS 专业技巧
  •  D - 粉碎叛乱F - 其他起义
  • egg(89)--egg之redis的发布和订阅
  • HashMap ConcurrentHashMap
  • input的行数自动增减
  • java概述
  • JSONP原理
  • SpiderData 2019年2月13日 DApp数据排行榜
  • SpiderData 2019年2月25日 DApp数据排行榜
  • SQL 难点解决:记录的引用
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue自定义指令实现v-tap插件
  • 精彩代码 vue.js
  • 前端设计模式
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 自制字幕遮挡器
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​第20课 在Android Native开发中加入新的C++类
  • #在 README.md 中生成项目目录结构
  • (2)nginx 安装、启停
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (多级缓存)缓存同步
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (排序详解之 堆排序)
  • (四)汇编语言——简单程序
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • .net core控制台应用程序初识
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .Net 知识杂记
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net开发时的诡异问题,button的onclick事件无效
  • @Data注解的作用
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [2016.7 day.5] T2