iOS代碼適配(2)

1. 首先我們看一下 iphone 5(s) ,iphone 6和6 plus 的屏幕比例


所以, 我們可以用比例來適配三者的屏幕.

2.在Appdelegate.h

@property float autoSizeScaleX;

@property float autoSizeScaleY;


如圖所示:



3.在appDelegate.m中

- (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;

    }

}

如圖所示:




因爲iPhone4s屏幕的高度是480,因此當屏幕尺寸大於iPhone4時,autoSizeScaleX和autoSizeScaleY即爲當前屏幕和iPhone5尺寸的寬高比

5.在.pch中或者 全局的那種頭文件裏面寫

CG_INLINE CGRect CGRectMakeScreen(CGFloat x, CGFloat y, CGFloat width, CGFloat height)

{

    AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];

    CGRect rect;

    rect.origin.x = x * myDelegate.autoSizeScaleX; rect.origin.y = y * myDelegate.autoSizeScaleY;

    rect.size.width = width * myDelegate.autoSizeScaleX; rect.size.height = height * myDelegate.autoSizeScaleY;

    return rect;

}


或者寫到全局的頭文件裏面,我的是header.h



6.使用

用CGRectMakeScreen 代替原本的CGRectmake 就好了









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章