1. 程式人生 > >ios開發--app 同時支援iphon…

ios開發--app 同時支援iphon…

說明;兩者同時相容,當然不能使用ipad 獨有的控制器。個人認為不能再使用xib。
//返回一個比例,以iphone 模擬器為基準來進行比較
+(float)currentSize:(BOOL)h{
    CGRect screen_rect=[[UIScreen mainScreen] bounds];
    CGSize screen_size=screen_rect.size;

    CGFloat screen_scale=[[UIScreen mainScreen]scale];//一般螢幕為1,Retina為2
    float baseResolution_h=480*screen_scale;

    float baseResolution_w=320*screen_scale;

    float currentResolution_h;
    float currentResolution_w;

    currentResolution_h=screen_size.height*screen_scale;//當前裝置的解析度
    currentResolution_w=screen_size.width*screen_scale;

    if (h) {
        return (float)currentResolution_h/baseResolution_h;
    }else {

        return (float)currentResolution_w/baseResolution_w;
    }

}

//返回合適的座標
+(CGRect)fitCGRect:(CGRect)rect{
    float x=rect.origin.x;
    float y=rect.origin.y;
    float width=rect.size.width;
    float height=rect.size.height;
    float currentSize_h=[self currentSize:YES];
    float currentSize_w=[self currentSize:NO];

    CGRect frame=CGRectMake(x*currentSize_w, y*currentSize_h, width*currentSize_w, height*currentSize_h);
    return frame;

}
/*******************************/
在建立物件的時候,只需呼叫fitCGRect:方法賦予frame 即可。當iphone5出來的時候一樣可以用!

如果有更好的方法,還望一起交流。