iOS屏幕适配之通过代码实现控件按比例缩放

众所周知,随着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)]];

注意:用这种方法有时候界面上的控件相关的图片要做好适当调整,防止失真。


你可能感兴趣的:(iOS功能实现)