UIGestureRecognizer与UIButton Action在同一界面冲突的问题
2019独角兽企业重金招聘Python工程师标准>>>
早上收到BOSS微信消息,说界面评论部分不能点击,当时觉得头大,爬起来看了一会代码也没改神马,早上跑到公司,发现看错了地方,远程沟通还是有些问题
问题描述
在iOS的一个UIView下面添加了按钮消息和UITapGestureRecognizer消息,应该Apple在iOS6之后就解决了这个问题,而BOSS还是在iOS5.0(这是我们支持的最低版本)
为神马会出这个问题
我对Apple的底层消息分发机制不太了解,个人理解是所有的点击都是的底层都是UIGesture,而UITapGesture阻止了UIButton点击消息的分发
如何解决
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if ([touch.view isKindOfClass:[UIButton class]]) { return NO; } return YES; } 添加了这个UIGestureRecognizer协议即可
后话
MOU实在太赞了,我也想写一个Mac下这样的体验优秀的软件,代码粘贴这么烂,不知道是不是我不会用
转载于:https://my.oschina.net/tonyyang/blog/290777
UIGestureRecognizer与UIButton Action在同一界面冲突的问题相关推荐
- UIGestureRecognizer触控手势
UIGestureRecognizer 一,概念 UIGestureRecognizer是一个抽象类(特殊的触摸事件),UIGestureRecognizer是一个父类,定义了所有手势操作的基本行为, ...
- iOS 快速定位约束冲突
iOS 快速定位约束冲突 什么是约束冲突 当你使用 AutoLayout 布局,你添加的约束不满足或者会造成系统布局冲突的时候,控制台就会打印冲突日志. 约束冲突示例 [LayoutConstrain ...
- ios mysql注册登录界面_iOS+PHP实现登录功能
近期在做app开发的时候,因为要用到app登录功能,就自己写了个简单的iOS+PHP实现登录功能的demo,经过运行能够通过登录测试. 在开发过程中,也是碰到了各种各样的问题,经过不断的调试和改变方法 ...
- UI一揽子计划 8 (UINavigationController 、界面通信 、NSTimer 、NSUserDefaults)
一.UINavigationController // 创建一个导航控制器 // 创建一个控制器作为根控制器 去管理 RootViewController *rootVC ...
- Struts2中的action类
Struts2中的action类 action类在Struts2中承担了Model(模型)的角色,主要用于处理业务逻辑并存放HTTP请求处理过程中各个变量的值. 在Struts2里面,Action充当 ...
- python之Django学习笔记(五)---后台(admin.py)Action使用
Action即在列表界面字段上面的一个插件 默认只有一个删除动作:Delete selected 表名.这可以禁用这个action,在admin.py中增加一行如下代码: class StudentA ...
- struts 进不了action方法
这里只是对于我所碰到的问题 <tr> <td class="altbg1">首映日期:</td> <td class="altb ...
- android国外壁纸app,听说在国外很火?Action安卓启动器体验
安卓之于iOS的一大优势,就在于用户可以通过更换桌面启动器(Launcher),来自由定制桌面.在安卓2.3时代,ADW Launcher.Launcher Pro等启动器红透半边天,到了安卓4.X/ ...
- C# this.Invoke()的作用与用法、不阻塞UI界面线程的延时函数
一.this.Invoke()的作用与用法.不阻塞UI界面线程的延时函数 Invoke()的作用是:在应用程序的主线程上执行指定的委托.一般应用:在辅助线程中修改UI线程( 主线程 )中对象的属性时, ...
最新文章
- 40个比较重要的Android面试题
- 如何使用live writer客户端来发布CSDN的博客文章?
- RTC 技术知识体系
- 特斯拉下一代Roadster跑车生产时间再度推迟至2023年
- android获取错误原因,从http读取数据时发生OutOfMemory错误获取请求android
- Atitit.病毒木马程序的感染 传播扩散 原理
- fisco bcos 区块链配置文件位置
- flask html 得到文本框 input的内容_Python的Web框架Flask + Vue 生成漂亮的词云
- 怎么制作真人qq秀_QQ 首款捏脸产品「卡噗」上线,这是微信也能玩的 3D 厘米秀...
- QCC3071与QCC3072有什么区别?
- 多边形的扫描转换算法 c语言,C++程序例题:多边形扫描转换算法
- 左右连接和内连接的区别
- B150主板Win7系统出现蓝屏且提示错误代码0x000000C5的原因及解决方法
- 小飞鱼通达二开 通达OA集成企业微信扫码登录的开发(图文)
- 让QQ的文字漂亮起来
- 记一次Android第三方日历控件CalendarView的使用
- Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)
- 赠书福利|一本书是写给美国人看的书,告诉我们,美国科技为什么领先?
- 浅析3种电池容量监测方案
- python编程需要多大内存卡_最必要的最小建议集:写给刚入门编程(python)的同学...
热门文章
- html读取本地txt_利用MySQL/MariaDB的逻辑缺陷伪造恶意服务端读取客户端文件
- android compile使用方法,自己创建一个android studio在线依赖compile
- app应用内嵌h5页面怎么直接打开safari_localstroage过多存储满的情况下应该怎么办?...
- java 数据排序需求分析_java 实现数组全排序
- c语言运行时更入下一行,C语言高级语言程序设计(一)_第二章 C程序设计基础(二).ppt...
- 数据库外键约束的几种方法及区别
- UML建模之EA入门
- 【HTTP趣谈】origin,referer和host的区别
- 算法训练 字符串的展开c语言
- python使用线性回归实现房价预测