刚刚在和设计调细节的时候忽然发现有个UILabel的右边多了一条黑色竖线,如图所示:
第一次遇到这种情况,以为是某个控件frame没设置好成了一条线,通过控制台看视图结构发现并没有额外控件,只有一个label啊!
查资料发现label的宽或者高没有取整时可能会有这种情况,因为我的label宽度是根据后台返回的内容,使用boundingRectWithSize方法动态计算的,宽度确实不为整。对label宽度进行取整修改后重新运行果然解决了问题!
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);