UIButton按钮点击无响应处理方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIButton按钮点击无响应处理方法相关的知识,希望对你有一定的参考价值。
参考技术A 按钮的创建在ios里面是很平常的了,但是有些时候创建了按钮却不知道为什么点击无响应,下面我们来分析一下:1,一般按钮的用户交互属性肯定是默认打开的,但是如果父亲视图的属性是关闭的话,那按钮就不会有响应,比如把按钮加到UIImageView上,那最好把UIImageView的交互属性打开。
2,这个还是和父视图有关,按钮的位置一定要在父视图上,否则程序知道你设置了frame,也加到了父视图上,但就是没有响应,这时候你就得看看,button的frame是不是在父视图的frame范围内,超出范围,button是没有响应的,曾经做过一个ipad项目,在横竖屏的时候,我调整了button的位置,结果在切换时按钮就是没有响应事件,后来才知道父视图的位置也要相应的调整。
3,另外就是button本身的frame问题,或者有没有一层视图盖住了button导致按钮无响应,简单来说就是按钮本身和按钮他爹(父视图)的问题。
4,按钮的无响应事件肯定还有其他更多的原因,目前我也只能想到这了,等后期遇到问题我会继续更新。
iOS UIButton 点击无响应的解决办法
参考技术A解决办法
这里有两个方法,每次有 touch 动作时,都会走这两个方法
重写方法 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
这是 View 里的一个方法,处理流程如下
最后,这个触摸事件交给主窗口的 hitTest:withEvent: 方法返回的视图对象去处理。
所以我们可以在返回nil时进行处理,因为这个时候button是在父View外的
这个时候按钮在区域外点击也有效果了
参考:
iOS UIButton 点击无响应的解决办法
对UIView的hitTest: withEvent: 方法的理解
hitTest:withEvent:方法流程
以上是关于UIButton按钮点击无响应处理方法的主要内容,如果未能解决你的问题,请参考以下文章