【iOS开发】一个关于UIAlertController的诡异现象

今天无意间发现iOS中UIAlertController一个很诡异的bug——UIAlertController添加两个UIAlertAction,只要其中任意一个Action的title超过5个汉字时就不会在同一行显示(设备为iPhone 6 plus、iOS10.3.1)。如下所示:

01
02

因为平时几乎是用自己的手机(iPhone 6s、iOS10.3.1)且是正常显示的(两个action同一行),所以直到今天才发现这个奇怪的现象。iPhone 6s正常显示如下:

03
04

经过多次验证发现,在iPhone 6 plus上,iOS10.3.1环境下,只要两个action中任意一个的title的长度大于5个汉字就会不同行显示。英文title也会出现类似现象。

05


06
07

在模拟器中并没有发现这个奇怪的现象。以为是plus系列才会有的,但是问过了同事,她们的显示也是正常的,她们的设备分别为iPhone 7 plus、iPhone 6s plus,系统都是iOS10.3.1。其实我也要料到了,她们的设备是显示正常的,要是不正常她们早就说出来了。

08

测试代码很简单,点击控制器弹出AlertController,添加两个UIAlertAction,不断改变action的title进行一一验证。如下所示:

09

完整代码在这里:FuckingAlertControllerOniPhone6Plus

我们都知道早在2014年iOS8发布的时候,Apple出了这个API,用来替换UIAlertView和UIActionSheet。想不到三年多过去了,还会出现如此诡异的bug!!其实在使用UIAlertController的过程中,我们也会碰到一些其它问题,比如有时会弹不出来(想必大多数开发中遇到过吧)PS:本文这个问题有童鞋遇到过吗?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容