这种方案是一种手机屏幕作为基准,先进行约束布局,然后进行放大或者缩小的形变来适配屏幕。
1.首先选择8p作为基准屏幕进行布局,做好约束,这个页面现在是刚好覆盖全屏。
image.png
现在运行可以看到没有适配所有屏幕
image.png
2.再viewdidload里面根据屏幕换算缩放因子,进行形变。
CGRect rect = [UIScreen mainScreen].bounds;
float x = rect.size.width / 414;
float y = rect.size.height / 736;
NSLog(@"screen rect === %@",NSStringFromCGRect(rect));
NSLog(@"y==%@",@(y));
NSLog(@"x==%@",@(x));
if(x > y){
self.view.transform = CGAffineTransformMakeScale(y, y);
}else{
self.view.transform = CGAffineTransformMakeScale(x, x);
}
效果如图
image.png