众所周知,随着6和6p的出现,iphone手机的屏幕大小出现了多样化,再加上ipad,于是屏幕适配成为了一个非常棘手的问题,一直以来也没有出现一种比较科学统一而又效果不错的适配方法。
这里简单介绍一种适配的方法,就是控件按照屏幕的比例进行放大。
因此在设计界面的时候我通常是按照5和5s来设计控件的大小和位置,然后再根据屏幕横向比例来缩放控件和控件位置
具体实现如下
1.宏定义
#define SCREEN_RATE (320/[UIScreen mainScreen].bounds.size.width)
2.实现方法
- (CGRect)newSuitFrame:(CGRect)frame
{
CGRect newFrame;
newFrame.size.height = frame.size.height/SCREEN_RATE;
newFrame.size.width = frame.size.width/SCREEN_RATE;
newFrame.origin.x = frame.origin.x/SCREEN_RATE;
newFrame.origin.y = frame.origin.y/SCREEN_RATE;
return newFrame;
}
3.调用
UIButton *btnChangeImage = [[UIButton alloc] initWithFrame:[self newSuitFrame:CGRectMake(5, 568 - 33, 50, 30)]];
注意:用这种方法有时候界面上的控件相关的图片要做好适当调整,防止失真。