一个iOS6系统bug+一个iOS7系统bug

先看实际工作中遇到的两个bug:
(1)iPhone Qzone有一个导航栏背景随着页面滑动而渐变的体验,当页面滑动到一定距离时,会改变导航栏上title文本的颜色,但是有一个莫名其妙的bug,如下:


在iOS7、iOS8上面只会改变文字,而不会改变三个点的颜色。

(2)iPhone Qzone 5.2新加了一个抽屉需求,当为默认主题时抽屉背景需要使用纯白加0.92的alpha透明度,在iOS7、iOS8上面正常,在iOS6.1.3上面就黑一片.
这两个bug都很费解,后面发现真面目是下面这样的。


1. 一个iOS6系统bug:
通过UIColor系统api: - getRed:green:blue:alpha: 获取非 + colorWithRed:green:blue:alpha: api 构造的color(即whiteColor、grayColor、redColor等iOS默认自带的一批颜色)的三原色时,会有问题。


先看一个函数:


再看一段代码:


断点处打印结果:
iOS6.1.3:


iOS 7、iOS 8:


2. 一个iOS7及以后的系统bug:
当给UILabel设定的单行文本超出其frame.size.width时,系统会默认添加上三个点"...",在iOS7上当非第一次alloc init时指定textColor,后面动态指定textColr时,只会改变除文字的颜色,而不会改变“...”的颜色。在iOS6上面会连同文字和三个点颜色一起改变,废话不多说,看下面实验。


先看一段代码:



实验结果:
iOS6.1.3:

iOS7、iOS8:



posted on 2015-04-02 16:57  封起De日子  阅读(139)  评论(0编辑  收藏  举报

导航