就是在實際中發現了UILabel顯示變虛的問題,這個問題并不是布局本身的問題,而是系統的問題。原因是當對一個UILabel的frame值設置有小數時,但是這個小數無法轉化為真實的物理像素的位置時,就會發虛和模糊。因此我們要盡量保證frame值是整數或者可以映射為最小的物理像素,比如高清屏我們要求小數必須是0.5的倍數。新版本已經有效的解決了這個問題。同時還提供了一個有效設備點轉化的方法。
CGFloat _myRoundNumber(CGFloat f)
{
if(f == CGFLOAT_MAX)
return f;
static CGFloat scale;
scale =[UIScreen mainScreen].scale;
static CGFloat inc;
inc = 0.5/scale;
f += inc;
f *= scale;
return floor(f)/ scale;
}