我使用了storyboard搭建了界面
界面如图
红色圈出来的是四个UIButton,
每个UIButton里面嵌套了一个UIView,UIView是铺满的,然后UIView里面放的是一个图标和一个Label,
使用addTarget添加事件,结果没有反应。
我将UIButton里面的UIView区域缩小。如图
红色区域是UIView,这里点击是无效的,而蓝色区域是UIButton,除掉红色区域其他地方点击都有效果。
想请教一下这种情况是什么原因,我之前使用纯代码的方式似乎不会出现这种情况啊。
我使用了storyboard搭建了界面
界面如图
红色圈出来的是四个UIButton,
每个UIButton里面嵌套了一个UIView,UIView是铺满的,然后UIView里面放的是一个图标和一个Label,
使用addTarget添加事件,结果没有反应。
我将UIButton里面的UIView区域缩小。如图
红色区域是UIView,这里点击是无效的,而蓝色区域是UIButton,除掉红色区域其他地方点击都有效果。
想请教一下这种情况是什么原因,我之前使用纯代码的方式似乎不会出现这种情况啊。
哥们。。按钮不需要嵌套就可以表达出你这种效果。你要么自定义一个UIControl要么一个UiView上放个图片和标签然后用个没有文字背景默认得图片覆盖。 你这种是uiview的触摸点把下面的覆盖了。而你uiview没得触摸方法。。或者你也可以加个手势到这些view上
4 回答4.7k 阅读
2 回答2k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
2 回答1.6k 阅读
1 回答1.5k 阅读
1 回答1.5k 阅读
843 阅读
对于UIIView userInteractionEnabled属性默认是YES;
所以UIView会截获点击事件,点击事件不会向下传播。
对于UIImageView userInteractionEnabled属性默认是NO;
所以UIImageView不会截获点击事件,点击事件会继续向下传播。
你以前可能是在button上添加UIImageView,而现在添加的是UIIView。所以会出现跟以前不一样的效果。
解决办法:将UIView的userInteractionEnabled设置为NO即可。