新聞中心
前言
最近開發(fā)需求遇到一個比較簡單但又棘手的問題.先看需求
一個UILabel顯示不同大小顏色的字符串,當(dāng)然我們首先的想到屬性字符串,但是注意: 我們這里要處理國際化完成的字符串也就是說:
必須在國際化完成以后才能追加我們的邏輯,而不是一上來就加屬性字符串
比如: 2分14秒 or 2min14secs
也就是給我們的是一個 "2分14秒"字符串 我們需要匹配range來修改或者替換. 帶著這個疑問開始今天的文章?
實現(xiàn)思路
孔圣賢有云:”舉一隅不以三隅反,則不復(fù)也?!?/p>
出自《論語·第七章·述而篇》
為了不愧對圣賢對我的期待我把 這個問題定位升級成 4個等級
- Level 1 最優(yōu)解,時間復(fù)雜度最低,效率最高
- Level 2 非最優(yōu)解,時間復(fù)雜度最低,效率高
- Level 3 都一般
- Level 4 簡單粗暴
我想到了以下至少兩種方法
- 通過計算出來的時間 eg: 分 秒 字符串 range去國際化處理完的字符串去匹配修改
- 用正則匹配數(shù)字
- 用謂詞匹配數(shù)字
- level4太業(yè)余了不敢想向一個工作好幾年的開發(fā)者還寫出這么打臉的代碼
準(zhǔn)備工作
在工程中拖拽了一個label
@interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *label; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //調(diào)用 NSAttributedString *resultTime = [self formattedCurrentTime:133]; self.label.attributedText = resultTime; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:iOS利用NSAttributeString實現(xiàn)不同顏色大小顯示的方法-創(chuàng)新互聯(lián)
文章起源:http://fisionsoft.com.cn/article/pecgi.html