iOS開發實戰小知識——倒計時文案左右晃動問題

######在iOS App中,倒計時常常會出現,可是也發現一個小小的問題,就是倒計時文案會左右晃動。即便我最後一位個位數我補個0,補齊到兩位,也仍是會出現左右晃動的狀況。具體效果如圖: html

倒計時你左右晃啥.gif

優化一:

我想這個把文本對齊方式改爲居中,不左對齊了。這樣子就不會左右晃動了吧。 _timeLabel.textAlignment = NSTextAlignmentCenter; 可是現實是殘酷的,好了一點點,但仍是不行。 bash

現實的殘酷.gif

優化二:

繼續文本居中對齊,把UILabel的寬度設置的比倒計時文案在寬一點點,這樣子能夠了吧。 計算出timeLabel的文本寬,在加上一點點offset值。app

[self.timeLabel mas_updateConstraints:^(MASConstraintMaker *make) {
        make.width.mas_equalTo(self.timeLabel.intrinsicContentSize.width + 5);
    }];
複製代碼

現實仍是狠狠的打臉( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)啦~(≧▽≦)/~啦啦啦,好了一點點,但仍是會晃動。。 測試

打臉.gif

解決方案:

看來就調整控件應該沒有用了。那問題應該不是出在控件上。 在倒計時上找找。 後來發現應該是倒計時文本的數字文本寬度不一致,致使總體文案左右晃。 系統UILabel默認文本是:font-family: ".SFUIText";字體

設置控件文本的字體就完美解決了!!!優化

//通常這麼設置
_timeLabel.font = [UIFont systemFontOfSize:13.0f];
//設置文本字體 就完美解決了
_timeLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:13];
複製代碼

效果以下圖: ui

完美解決.gif
ps:設置其餘字體不知道哪一個還能夠,我沒有具體測試😆

參考資料:

StringsTextFontsspa

相關文章
相關標籤/搜索