OC: UIbutton 点击无反应的几种情况

2018-10-22  本文已影响4人  一欧Yiou

一、UIButton不能点击情况的第一种是,将button添加到一个不能响应点击事件的View里。
比如你将button添加到UIImageView中,解决办法只需将UIImageViewuserInteractionEnabled设为YES即可。

    self.headImgV.userInteractionEnabled = YES;
    [self.view addSubview:self.headImgV];



二、 UIButton不能点击情况的第二种是,你对button修改frame时,出现buttonframe超过了父Viewframe。这种情况也会导致button点击不能触发点击事件,这种情况只需要重新就该buttonframe,并让buttonframe不超过父Viewframe。你可以通过打印button和父Viewframe来查看是否出现这种上述的这种情况。


三、UIButton不能点击情况的第三种是,你在button上添加了一个View,然后这个View能响应事件。但是这个View并没有响应的点击触发事件。所以当你在点击button的时候,是将触发事件传递给View,而button本需要触发的事件则被忽略了。解决办法是,让添加的这个ViewuserInteractionEnabled设为NO即可。
用Xib创建的自定义控件的话吧User Interaction Enable 取消勾选即可

User Interaction Enabled.png
例如: UIButton上添加了两三个View, 最好把这些ViewUser Interaction Enable都设置成NO, 不然可能造成手势冲突.


四、 UIButton不能点击和 SVProgressHUD 或者 MBProgressHUD有关
(或者UIButton上层被罩了一层, 不能点击的话, 去看层级是最方便的了)
有需要补充的可以在下面留言, 大家互相学习~~
上一篇下一篇

猜你喜欢

热点阅读