我正在使用这两个设备来制作我的应用程序。我的应用程序完全在iPad上运行但是当我选择设备作为iPhone 4inch时,接口出现错误。现在是图片。 你可以看到顶部和底部的黑色是从哪里来的?
这是我的代码:
app appate中的:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
NSLog(@"Ipad ");
[application setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,-20,self.window.frame.size.width,self.window.frame.size.height+20);
}
if
(IS_IPHONE_5)
{
NSLog(@"Iphone %f ",[[UIScreen mainScreen] bounds].size.height);
if ([[UIScreen mainScreen] bounds].size.height == 568) {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,-20,self.window.frame.size.width,self.window.frame.size.height+20);
}
}
}
答案 0 :(得分:2)
如果你想支持iPhone 5屏幕的应用程序。你应该添加图像,启用iPhone 5屏幕尺寸的应用程序。这应该从xcode 4.5 +
实现将此图片添加到项目。
要使您的应用能够与iPhone 5配合使用,您需要添加启动器图像的视网膜版本。它应该命名为Default-568h@2x.png
设置中心内容的自动调整遮罩以在两个方向上展开。
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
否则,您可以通过以下代码更改视图大小,这将使您的屏幕与iPhone 5屏幕兼容。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
} else {
// code for 3.5-inch screen
}
答案 1 :(得分:1)
如果你想兼容iPad和iPhone(标准版,3.5英寸,4英寸),试试这个
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
if ([UIScreen mainScreen].scale == 2.0f) {
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width * scale, result.height * scale);
if(result.height == 960){
NSLog(@"iPhone 4, 4s Retina Resolution");
}
if(result.height == 1136){
NSLog(@"iPhone 5 Resolution");
}
else {
NSLog(@"iPhone Standard Resolution");
}
}
else {
//iPad
if ([UIScreen mainScreen].scale == 2.0f) {
NSLog(@"iPad Retina Resolution");
}
else{
NSLog(@"iPad Standard Resolution");
}
}
答案 2 :(得分:0)
为iphone 5 640 * 1136添加默认视网膜图像