我的应用程序在iphone 4中工作正常,但在iphone 5中显示底部屏幕为空。我认为这是因为iphone 5拥有更大的屏幕,所以它的解决方案是什么,如何管理这个额外的空间。请指导以上内容。
提前致谢。
答案 0 :(得分:3)
使用此代码它会对您有所帮助,在xib
调用中使用该应用程序时,我们必须创建两个iphone4
文件以使用此代码(如viewcontroller.xib和viewcontroller_5.xib) iphone4
屏幕显示其他电话iphone5
屏幕。
感谢。
if([[UIScreen mainScreen] bounds].size.height == 568){
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_5" bundle:nil] autorelease];
NSLog(@"iphone5");
}else
{
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
NSLog(@"iphone4");
}
答案 1 :(得分:2)
请参阅以下链接,它将解决您的每一个疑问, 1)How to develop or migrate apps for iPhone 5 screen resolution?
2)iOS 6 apps - how to deal with iPhone 5 screen size?
3)iOS 6 - Distinguishing between iPhone 5 and other devices?
答案 2 :(得分:2)
如果您使用的是iOS 6或更高版本,那么您可以为iphone 5创建一个名为 Retina 4全屏的单独xib。您需要在ViewController
尺寸中进行检查。还要检查这两个xib。这意味着在iphone 5或更低版本中运行xib中的任何一个都使用这些条件,无论是在AppDelegate
还是在您需要显示另一个ViewController
的任何地方。
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
}
else if(result.height == 568)
{
}
上面的代码会检查你的iPhone屏幕的大小,并相应地调整。 希望这已经解决了你的问题:)。
PS: - 别忘了添加你的iphone 5闪屏,即 Default-568h@2x.png 。
答案 3 :(得分:1)
据我所知,处理此类问题并避免检查设备高度所需的几个条件的最佳方法是使用视图的相对框架或您要添加到的任何UI元素,例如:if您要在视图底部或标签栏上方添加一些您想要的UI元素,然后您应该根据视图的高度或相对于标签栏(如果存在)获取y原点。对于将图像作为完整视图背景的情况,您可以将图像设置为视图的背景颜色。
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@“要添加的图片”];
答案 4 :(得分:0)
尝试使用任何控制器,
因此,它会根据高度自动调整窗口大小。
对于视网膜(iPhone-5)显示,您必须在xcode项目中导入“Default-568h@2x.png”文件。
希望它能帮助你理解。
感谢。
答案 5 :(得分:0)
添加与iPhone 5以下设备相同的启动画面图像,但图像大小为960 * 1136
,名称为Default-568h@2x.png
,即Default.png当前为启动画面。
这将为您的应用程序提供iPhone 5屏幕支持。