遇到一個bug,記錄一下,一個Lable根據(jù)UI圖設(shè)置了borderWidth為0.5
self.dateOROverdueLable.layer.borderWidth = 0.5;
self.dateOROverdueLable.layer.masksToBounds = YES;
然后就尷尬的發(fā)現(xiàn)在6s手機(jī)上Lable的四條邊框粗細(xì)一樣,沒什么問題,可是一到同事的6puls手機(jī)上就會發(fā)現(xiàn)Lable的四條邊框粗細(xì)不一致,兩條寬,兩條窄,后來想到0.5是指0.5個點(diǎn),在6s手機(jī)上一個點(diǎn)是2x2個像素,在6plus上是3x3個像素,在6plus上0.5個點(diǎn)算出的像素個數(shù)是小數(shù)。
解決辦法是在6p手機(jī)上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;