-6

我的应用程序在 iphone 4 中运行良好,但在 iphone 5 中显示底部屏幕为空。我认为这是因为 iphone 5 有更大的屏幕,那么解决方案是什么,如何管理额外的空间。请指导以上。

提前致谢。

4

6 回答 6

3

使用此代码将对您有所帮助,在这里我们必须创建两个xib文件来使用此代码,例如(viewcontroller.xib 和 viewcontroller_5.xib),当您在iphone4调用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");
}
于 2013-03-11T11:49:06.323 回答
2

如果您使用的是 iOS 6 或更高版本,那么您可以为 iphone 5 创建一个单独的 xib,称为Retina 4 Full screen。您需要在您的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

于 2013-03-11T11:45:31.920 回答
1

根据我的说法,处理此类问题并避免检查设备高度所需的几个条件的最佳方法是使用视图的相对框架或您添加到视图中的任何 UI 元素,例如:如果您正在添加您想要的一些 UI 元素应该位于视图底部或标签栏上方,那么您应该相对于视图的高度或相对于标签栏(如果存在)取 y 原点。对于将图像作为全视图背景的这种情况,您可以将图像设置为视图的背景颜色。

self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"要添加的图像"]];

于 2013-03-11T12:56:32.807 回答
0

试试这个任何控制器,

在此处输入图像描述

因此,它会根据高度自动调整窗口大小。

对于retina(iPhone-5) 显示器,您必须在您的xcode 项目中导入“Default-568h@2x.png”文件。

希望它会帮助您理解。
谢谢。

于 2013-03-11T11:43:43.323 回答
0

添加与 iPhone 5 以下设备相同的初始屏幕图像,但图像大小960 * 1136和名称为Default-568h@2x.pngie,如果 Default.png 当前是初始屏幕。这将为您的应用程序提供 iPhone 5 屏幕支持。

于 2013-03-11T11:43:59.543 回答