OC: UIbutton 点击无反应的几种情况
2018-10-22 本文已影响4人
一欧Yiou
一、UIButton
不能点击情况的第一种是,将button
添加到一个不能响应点击事件的View
里。
比如你将button
添加到UIImageView
中,解决办法只需将UIImageView
的userInteractionEnabled
设为YES
即可。
self.headImgV.userInteractionEnabled = YES;
[self.view addSubview:self.headImgV];
二、 UIButton
不能点击情况的第二种是,你对button
修改frame
时,出现button
的frame
超过了父View
的frame
。这种情况也会导致button
点击不能触发点击事件,这种情况只需要重新就该button
的frame
,并让button
的frame
不超过父View
的frame
。你可以通过打印button
和父View
的frame
来查看是否出现这种上述的这种情况。
三、UIButton
不能点击情况的第三种是,你在button
上添加了一个View
,然后这个View
能响应事件。但是这个View
并没有响应的点击触发事件。所以当你在点击button
的时候,是将触发事件传递给View
,而button
本需要触发的事件则被忽略了。解决办法是,让添加的这个View
的userInteractionEnabled
设为NO
即可。
用Xib创建的自定义控件的话吧User Interaction Enable
取消勾选即可
例如:
UIButton
上添加了两三个View
, 最好把这些View
的User Interaction Enable
都设置成NO
, 不然可能造成手势冲突.四、
UIButton
不能点击和 SVProgressHUD
或者 MBProgressHUD
有关(或者
UIButton
上层被罩了一层, 不能点击的话, 去看层级是最方便的了)有需要补充的可以在下面留言, 大家互相学习~~