机型 屏幕宽高比
iPhone5 320/568=0.563
iPhone6 375/667=0.562
iPhone6P 414/736=00.5625
很明显能看出这三种屏幕的尺寸宽高比是差不多的,因此可以在5的基础上,按比例放大来适配6和6Plus的屏幕。
在AppDelegate.h中
@property float autoSizeScaleX; @property float autoSizeScaleY; |
在AppDelegate.m中
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height #define ScreenWidth [[UIScreen mainScreen] bounds].size.width
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
if(ScreenHeight > 480){ myDelegate.autoSizeScaleX = ScreenWidth/320; myDelegate.autoSizeScaleY = ScreenHeight/568; }else{ myDelegate.autoSizeScaleX = 1.0; myDelegate.autoSizeScaleY = 1.0; } } 如果是5,autoSizeScaleX=1,autoSizeScaleY=1; 如果是6,autoSizeScaleX=1.171875,autoSizeScaleY=1.17429577; 如果是6Plus,autoSizeScaleX=1.29375,autoSizeScaleY=1.2957; 现在我们获取了比例关系后,先来看一下如何解决代码设置界面时的适配。 CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)这个方法使我们常用的设置尺寸的方法,现在我设置了一个类似于这样的方法。 在.m文件中
这样,这个imageview在5,6和6Plus的位置和尺寸比例都是一样的。 |