iOS 9.0系統(tǒng)下字體寬度的計(jì)算處理

一缕碎、前言

在做項(xiàng)目的時(shí)候有計(jì)算label的寬度適配UI的要求,之前也總結(jié)了Category是計(jì)算label自適應(yīng)高度及寬度池户,然后發(fā)現(xiàn)在9系統(tǒng)下總是出現(xiàn)'...'就是顯示不全咏雌,所以在此記錄一下解決方法希望能幫助有同樣需求的人。

二校焦、之前的Category方法

#pragma mark - 計(jì)算字符串尺寸
/**
 *  計(jì)算字符串高度 (多行)
 *
 *  @param width 字符串的寬度
 *  @param font  字體大小
 *
 *  @return 字符串的尺寸
 */
- (CGSize)heightWithWidth:(CGFloat)width andFont:(CGFloat)font {
    NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:font]};
    CGSize  size = [self boundingRectWithSize:CGSizeMake(width, MAXFLOAT)  options:(NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin)  attributes:attribute context:nil].size;
    return size;
}

/**
 *  計(jì)算字符串寬度
 *
 *  @param height 字符串的高度
 *  @param font  字體大小
 *
 *  @return 字符串的尺寸
 */
- (CGSize)widthWithHeight:(CGFloat)height andFont:(CGFloat)font {
    NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:font]};
    CGSize  size = [self boundingRectWithSize:CGSizeMake(MAXFLOAT, height)  options:(NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin)   attributes:attribute context:nil].size;
    return size;
}

三赊抖、原因

iOS9的字體大小與之前的版本字體大小不一樣。

起碼, 在systemFont下是這樣寨典。

舉例說熏迹,字符串在 label上顯示,label的 font = [UIFont systemFontOfSize:13]
在iOS 8下凝赛,需要占用的寬度為40.f,但在iOS9下注暗,就可能需要45.f.

四、解決方法

在label初始化的時(shí)候添加如下函數(shù):

adjustsFontSizeToFitWidth

舉例如下:

- (UILabel *)priceLabel {

    if (!_priceLabel) {
        
        _priceLabel = [[UILabel alloc] init];
        _priceLabel.font = H16;
        _priceLabel.textColor = UIColorFromRGB(0xE71414);
        _priceLabel.textAlignment = NSTextAlignmentRight;
        [_priceLabel adjustsFontSizeToFitWidth];
    }
    
    return _priceLabel;
}

在布局的時(shí)候不用考慮寬度墓猎,如下:

[self.priceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.right.equalTo(-10);
        make.centerY.equalTo(weakSelf.nameLabel);
        make.height.equalTo(21);
}];

五捆昏、完事

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市毙沾,隨后出現(xiàn)的幾起案子骗卜,更是在濱河造成了極大的恐慌,老刑警劉巖左胞,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寇仓,死亡現(xiàn)場離奇詭異,居然都是意外死亡烤宙,警方通過查閱死者的電腦和手機(jī)遍烦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躺枕,“玉大人服猪,你說我怎么就攤上這事」赵疲” “怎么了罢猪?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叉瘩。 經(jīng)常有香客問我膳帕,道長,這世上最難降的妖魔是什么薇缅? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任危彩,我火速辦了婚禮,結(jié)果婚禮上捅暴,老公的妹妹穿的比我還像新娘恬砂。我一直安慰自己,他們只是感情好蓬痒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布泻骤。 她就那樣靜靜地躺著,像睡著了一般梧奢。 火紅的嫁衣襯著肌膚如雪狱掂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天亲轨,我揣著相機(jī)與錄音趋惨,去河邊找鬼。 笑死惦蚊,一個(gè)胖子當(dāng)著我的面吹牛器虾,可吹牛的內(nèi)容都是我干的讯嫂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼兆沙,長吁一口氣:“原來是場噩夢啊……” “哼欧芽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起葛圃,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤千扔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后库正,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曲楚,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年褥符,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了龙誊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡属瓣,死狀恐怖载迄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抡蛙,我是刑警寧澤护昧,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站粗截,受9級特大地震影響惋耙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜熊昌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一绽榛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婿屹,春花似錦灭美、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蜂奸,卻和暖如春犁苏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扩所。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工围详, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祖屏。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓助赞,卻偏偏與公主長得像买羞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子嫉拐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,416評論 0 12
  • 每天早上準(zhǔn)時(shí)6.30醒來婉徘,便匆匆洗漱整理準(zhǔn)備出門,吃著昨夜買好的面包咐汞,坐上一輛開往市區(qū)的巴士盖呼,經(jīng)過一個(gè)半小時(shí)的搖晃...
    _微葉_閱讀 501評論 0 0
  • 關(guān)鍵詞:存在感,自身價(jià)值化撕,目標(biāo)几晤,激情 我,20歲植阴,在讀大二蟹瘾,昏昏沉沉間這個(gè)新的學(xué)期已經(jīng)過去一半。其實(shí)掠手,自讀大學(xué)以來...
    筱斷閱讀 604評論 0 1
  • 她的手白凈柔軟憾朴,在明亮的白熾燈下微微泛著月光般的清冷淺暈,十指修長纖細(xì)喷鸽,節(jié)節(jié)分明众雷,是有如古詩里“指如削蔥根”的端雅...
    阿棧閱讀 2,112評論 2 1
  • 喜鵲歡歌唱枝頭,時(shí)年好友聚惠州做祝。 美酒醇香非凡意砾省,幾多過往上心頭。 好漢該提當(dāng)年勇混槐,披星戴月走巒丘编兄。 人和政通楊帆...
    葉祿青閱讀 1,032評論 1 3