iOS--在UIImageView上放置Button没有点击反应

今天遇到一个奇葩的问题,就在UIImageView上面放置一个Button,点击按钮,点击事件根本就不运行。但是放在UIView上就可以,搜索了半天才知道,UIImageView本身跟用户的交互是关闭的。而UIImageView作为父视图,上面又放置了一个Button,导致其子视图的交互也无法响应。解决办法是将UIImageView的交互打开就好了:imageView.userInteractionEnabled = YES;  这样点击按钮就有点击事件了。

小拓展:

1.目前知道的系统默认不能跟用户交互的UI:UIImageView,UILabel.如果上面要放置Button的话,需要将UIImageView,UILabel.的userInteractionEnabled设为YES;当然,像UIView,UIScrollView,UItableView这些控件,是默认和用户交互的。

2.当Button为nil的时候,就算是添加了点击事件,也是不会响应的。

3.当一个父视图View上面,放置了两个View,例如A和B,B是将A遮盖的,此时点击事件会被B拦截的,要想让A有点击事件。可以将B的userInteractionEnabled属性设为NO,A的userInteractionEnabled为YES就可以了。

你可能感兴趣的:(iOS--在UIImageView上放置Button没有点击反应)