IOS7.0系統(tǒng)上,特定顏色調(diào)用`- getRed:green:blue:alpha:`方法返回結(jié)果有誤的問(wèn)題

1. 問(wèn)題描述:

項(xiàng)目中,一個(gè)頁(yè)面的NavigationBar是有動(dòng)畫(huà)效果的,Title的顏色會(huì)不斷變化。測(cè)試的時(shí)候發(fā)現(xiàn),在IOS7.0系統(tǒng)上本來(lái)應(yīng)該是白色的Title變成了黑色。調(diào)試發(fā)現(xiàn)問(wèn)題出在一個(gè)系統(tǒng)API上- getRed:green:blue:alpha:。在7.0系統(tǒng)上對(duì)[UIColor whiteColor]調(diào)用這個(gè)API,獲取R、G、B值是錯(cuò)誤的,均為接近0的小數(shù),正確的結(jié)果是1。

2. 原因:

+ (UIColor *)blackColor;      // 0.0 white 
+ (UIColor *)darkGrayColor;   // 0.333 white 
+ (UIColor *)lightGrayColor;  // 0.667 white 
+ (UIColor *)whiteColor;      // 1.0 white 
+ (UIColor *)grayColor;       // 0.5 white 

原因是系統(tǒng)對(duì)部分顏色的存儲(chǔ)進(jìn)行了優(yōu)化,用兩個(gè)字節(jié)存儲(chǔ)這些顏色,按RGB的存儲(chǔ)方式去取值就會(huì)得到錯(cuò)誤的值。7.0以上的系統(tǒng),這個(gè)API對(duì)這些特殊存儲(chǔ)的顏色進(jìn)行了兼容處理,返回值是正確的。

3. 簡(jiǎn)單解決方法:

如果要用這個(gè)API- getRed:green:blue:alpha:,用[UIColor colorWithRGB:0xffffff]代替[UIColor whiteColor]。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • --繪圖與濾鏡全面解析 概述 在iOS中可以很容易的開(kāi)發(fā)出絢麗的界面效果,一方面得益于成功系統(tǒng)的設(shè)計(jì),另一方面得益...
    韓七夏閱讀 2,981評(píng)論 2 10
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫(huà)全貌。在這里你可以看...
    F麥子閱讀 5,273評(píng)論 5 13
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫(huà)全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,698評(píng)論 6 30
  • 想到感恩,總有太多值得感恩的人和事,真的真的很感謝我的真我天使指導(dǎo)靈高級(jí)智慧們,把心想生老師顯化在我的生活中,讓我...
    郭星言閱讀 356評(píng)論 0 0

友情鏈接更多精彩內(nèi)容