ios開發--app 同時支援iphon…
阿新 • • 發佈:2019-02-01
說明;兩者同時相容,當然不能使用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出來的時候一樣可以用!
如果有更好的方法,還望一起交流。
//返回一個比例,以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出來的時候一樣可以用!
如果有更好的方法,還望一起交流。