UILabel顯示定時器文本跳動問題的解決方法
先看一個有問題的展示效果:
上面的gif圖會發(fā)現(xiàn)在顯示驗證碼計數(shù)時出現(xiàn)跳動和閃爍的問題。目前大多數(shù)用來實現(xiàn)定時器顯示的控件都是UILabel。
在iOS9以前系統(tǒng)默認(rèn)的英文字體是Helvetica, 這種字體每個數(shù)字的寬度都是相等的。而在iOS9以后默認(rèn)的英文字體變?yōu)镾an Fransico字體,這種字體每個數(shù)字的寬度是不相等的。
正是因為數(shù)字寬度的不相等就導(dǎo)致了用UILabel來顯示定時器文本時出現(xiàn)文字跳動閃爍的問題。 因此解決的方案就是選用一種等寬數(shù)字字體顯示即可。為此有兩個解決方案:
用Helvetica字體代碼默認(rèn)字體。
UILabel *label = [UILabel new]; label.font = [UIFont fontWithName:@"Helvetica" size:16];
用UIFont的新API: + (UIFont *)monospacedSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight;
UILabel *label = [UILabel new]; //記得這個API是iOS9以后才有效?。。? label.font = [UIFont monospacedSystemFontOfSize:16 weight:UIFontWeightRegular];
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
- iOS開發(fā)中使用UILabel設(shè)置字體的相關(guān)技巧小結(jié)
- iOS中UILabel設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示
- iOS長按UIlabel實現(xiàn)可復(fù)制功能
- iOS應(yīng)用中UILabel文字顯示效果的常用設(shè)置總結(jié)
- iOS App開發(fā)中修改UILabel默認(rèn)字體的方法
- iOS 設(shè)置UILabel的行間距并自適應(yīng)高度的方法
- iOS UILabel 設(shè)置內(nèi)容的間距及高度的計算示例
- iOS開發(fā)筆記--詳解UILabel的相關(guān)屬性設(shè)置
相關(guān)文章
iOS NSURLSessionDownloadTask實現(xiàn)文件斷點下載的方法
本篇文章主要介紹了iOS NSURLSessionDownloadTask實現(xiàn)文件斷點下載的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01ios 不支持 iframe 的完美解決方法(兼容iOS&安卓)
下面小編就為大家?guī)硪黄猧os 不支持 iframe 的完美解決方法(兼容iOS&安卓)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07iOS 檢測網(wǎng)絡(luò)狀態(tài)的兩種方法
一般有Reachability和AFNetworking監(jiān)測兩種方式,都是第三方的框架,下文逐一詳細(xì)給大家講解,感興趣的朋友一起看看吧2016-10-10詳解iOS App設(shè)計模式開發(fā)中對于享元模式的運(yùn)用
這篇文章主要介紹了iOS App設(shè)計模式開發(fā)中對于享元模式的運(yùn)用,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-04-04