剛剛在和設(shè)計(jì)調(diào)細(xì)節(jié)的時(shí)候忽然發(fā)現(xiàn)有個(gè)UILabel的右邊多了一條黑色豎線,如圖所示:
第一次遇到這種情況,以為是某個(gè)控件frame沒設(shè)置好成了一條線,通過控制臺(tái)看視圖結(jié)構(gòu)發(fā)現(xiàn)并沒有額外控件殷勘,只有一個(gè)label啊昔搂!
查資料發(fā)現(xiàn)label的寬或者高沒有取整時(shí)可能會(huì)有這種情況玲销,因?yàn)槲业膌abel寬度是根據(jù)后臺(tái)返回的內(nèi)容,使用boundingRectWithSize方法動(dòng)態(tài)計(jì)算的摘符,寬度確實(shí)不為整贤斜。對(duì)label寬度進(jìn)行取整修改后重新運(yùn)行果然解決了問題!
CGSize timeSize = [time boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, 20) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{
NSFontAttributeName:[UIFont systemFontOfSize:12]
}context:nil].size;
//修改前
// timeLabel.width = timeSize.width + 20;
//修改后
timeLabel.width = floor(timeSize.width + 20);