在6p手机上UILable四条边框显示宽度不一致的bug

遇到一个bug,记录一下,一个Lable根据UI图设置了borderWidth为0.5

self.dateOROverdueLable.layer.borderWidth = 0.5;

self.dateOROverdueLable.layer.masksToBounds = YES;

然后就尴尬的发现在6s手机上Lable的四条边框粗细一样,没什么问题,可是一到同事的6puls手机上就会发现Lable的四条边框粗细不一致,两条宽,两条窄,后来想到0.5是指0.5个点,在6s手机上一个点是2x2个像素,在6plus上是3x3个像素,在6plus上0.5个点算出的像素个数是小数。

解决办法是在6p手机上Lable宽度改为1(我试过0.6或者1.0/[UIScreen mainScreen].scale * 2.0,但是效果不好)。

self.dateOROverdueLabel.layer.borderWidth = [UIScreen mainScreen].scale > 2.0 ? 1.0 : 0.5;

self.dateOROverdueLabel.layer.masksToBounds = YES;

你可能感兴趣的:(在6p手机上UILable四条边框显示宽度不一致的bug)