就是在实际中发现了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;
}