ios布局最小的物理像素小数必须是0.5的倍数

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

}

你可能感兴趣的:(ios布局最小的物理像素小数必须是0.5的倍数)