神奇的iOS11系统上的按钮竟然不显示

神奇的iOS11系统上的按钮竟然不显示_第1张图片
Snip20171109_56.png

上图是最终解决后修改的结果

产生原因:


神奇的iOS11系统上的按钮竟然不显示_第2张图片
Snip20171109_57.png

self 是一个view。
tipLabel 是self的一个子控件。
如果我把clearBtn加在tipLabel上,但是masonry上的布局却是以self为基准,这是很不科学的。
但是注意:这样的Masonry并不会报错。

神奇的iOS11系统上的按钮竟然不显示_第3张图片
Snip20171109_58.png

如果改成上面这个样子,测试发现这个按钮在iOS11上都不显示,其他系统如iOS9上就显示。

是不是意味着:Label上不能加有交互功能的Button,加了就有问题,直接不显示。
我接下来做个测试:


神奇的iOS11系统上的按钮竟然不显示_第4张图片
Snip20171109_59.png

测试显示这样没有问题啊

我加上FlEX测试,发现层级也是对的
截图如下:


神奇的iOS11系统上的按钮竟然不显示_第5张图片
Snip20171109_62.png

神奇的iOS11系统上的按钮竟然不显示_第6张图片
Snip20171109_63.png

神奇的iOS11系统上的按钮竟然不显示_第7张图片
Snip20171109_65.png

而显示实际结果却是这样:


神奇的iOS11系统上的按钮竟然不显示_第8张图片
Snip20171109_64.png

找不到原因:测试案例中换了图片也一样显示,测试了很多因素对比,都没法在测试案例中复现。

最终解决方案:
1.把button加在view上,不要加在label上即可
2.如果非要加在label上,不要给label设置背景色,即使按钮在Label上,即使label开启了交付userInteractionEnabled。

原因不详,已跪

你可能感兴趣的:(神奇的iOS11系统上的按钮竟然不显示)