对于初学者来说,定义一个UI控件的位置与宽度为一个常量,在iPhone的不同机型上会呈现出显示错位的情况。而我们应该如何避免这种情况的发生呢?
这里个人分享一个屏幕适配的小技巧:根据屏幕的宽高与固定UI控件的位置与宽度的比例来进行适配:
比如我们要设置一个CGRectMake(x, y, w, h);其中x,y,w,h为四个常量。我们可以首先获取屏幕的宽度与高度:
CGFloat mainScreenW = [UIScreen mainScreen].bounds.size.width;
CGFloat mainScreenH = [UIScreen mainScreen].bounds.size.height;
然后在草纸上计算出当前iPhone机型的屏幕比例(这一步的计算是不显示的):
CGRectMake(x, y, w, h);
kx = mainScreenW/x;
ky = mainScreenH/y;
kw = mainScreenW/w;
kh = mainScreenW/h;
最后根据屏幕比例设置:
CGRectMake(mainScreenW/kx, mainScreenH/ky, mainScreenW/kw, mainScreenH/kh);
*其中的kx,ky,kw,kh是由当前的iPhone机型的宽高计算得出,是一个常量。
这样我们就简单的根据UI控件所占屏幕比例完成了iPhone的屏幕适配。