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

其他更详细的代码在这里

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

  1. 解决ImageView超出父控件(或屏幕边界)时,图片挤压问题

    一.需求 在屏幕边缘显示一张图片,超出屏幕宽度时,只显示图片的左边部分,并且不被挤压,其余部分剪切.但我在实际开发中,踩了个坑,这里做个记录,下面通过图片直观了解一下情况: 理想 现实 目前可以确定, ...

  2. android 控件覆盖关系,安卓子控件抢占父控件点击事件或者焦点问题

    开发中很常见的一个问题,项目中的lListview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现 ...

  3. 请求所有父控件及祖宗控件不要拦截事件

    //事件分发//dispatchTouchEvent->onInterceptTouchEvent->onTouchEvent@Overridepublic boolean dispatc ...

  4. 子控件的鼠标消息怎么传递给父控件?

    需求是在父widget上摆一个子widget后,当click子widget时:不进入到子widget的相关事件处理函数中,而是进入到父widget的对应事件处理函数中.比如进入到mousePressE ...

  5. 超出父控件怎么才能点击

    首先:我们先总结一下控件不能交互的原因有哪些? // 1.控件的用户交互被关闭了! -> userInteractionEnable = NO[用户交互]!// 2.控件隐藏了! hidden ...

  6. vs2005的webbrowser控件如何接收鼠标事件

    这个问题来自论坛提问,vs2005的webbrowser控件如何接收鼠标事件,很多事情其实自己动动脑子就有办法的.主要是3步,给dom对象插入js脚本去响应鼠标-〉通过url跳转去通知webbrows ...

  7. Qt安装事件过滤器、过滤子控件事件、截获控件按键、鼠标事件

    Qt安装事件过滤器.过滤子控件事件.截获控件按键.鼠标事件 Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理. 假设我们有一个C ...

  8. android 父控件的背景_android控件的属性

    android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...

  9. 将鼠标消息发送给指定的父控件_勾子

    以下类通过挂载勾子原理,实现将子控件鼠标消息发送给父控件. 调用: MousePreview mp=new MousePreview(pControl);  //pControl为父控件 //启用勾子 ...

  10. WPF控件自定义点击事件

    WPF部分控件没有点击事件,点击,指的是鼠标按下,然后抬起,形成一次点击,这里写了个类,实现了点击事件如下 class ClickEventAction{static List<ClickEve ...

最新文章

  1. React 创建组件 使用组件 2
  2. 【Python基础】Jupyter Notebook最常用的五大配置技巧
  3. K8S部署hazelcast
  4. python序列5位置_Python序列构成的数组
  5. 独眼巨人反应组织了Java 8库的寒武纪爆发
  6. mysql 协议的退出命令包及解析
  7. rust怎么关阳光指令_我家也有庭院多好,伸缩阳光房装上,能休闲能当车库,还不算违建...
  8. 使用VS2010开发一个简单的自定义字段类型
  9. ps画画模糊笔刷_如何用笔刷做出大神级效果?1000多款PS插画笔刷,简直就是你想要的神器...
  10. 如何将一个完整项目推到码云_「码云下载项目」如何通过Git将本地项目提交到码云或GitHub...
  11. 「面试必背」多线程面试题(快收藏)
  12. 用python实现模拟轮盘抽奖游戏
  13. tp5 上传路径反斜杠的问题 ,反斜杠json_decode函数输出出错的
  14. 如何将ai转换为html,如何用AI输出html网页?AI画的图片-存储为web及所有格式-放到网页有锯齿?...
  15. bttray.exe
  16. 小米路由器 安装mysql_小米路由器安装和设置方法(图文教程)
  17. 人工智能方面会议评分与简介(转)
  18. 图片报道:2008年12月4日夜,暴风雪突袭烟台(上)
  19. Esx host补丁更新
  20. java获取本周第一天的日期

热门文章

  1. Xcode 快速开发 代码块
  2. 关于面试,关于大学——大四狗的自述
  3. matlab中realmax
  4. UJAM Finisher FLUXX for Mac(综合效果器插件)
  5. macOS Monterey新功能:抹掉所有内容和设置
  6. mac新手入门:在Mac上怎么使用夜览
  7. 保存Drawable资源为Bitmap文件
  8. 【Flutter】基础组件【06】Image
  9. 微信小程序开发的坑---新建页面or修改app.json
  10. 制作Camtasia 2020击键标记动画——保存及应用