0

我已经使用 ios 5 创建了一个应用程序,并且所有用户界面都是为320*480分辨率而创建的,现在我正在尝试在 iPhone 5 中运行这个应用程序,而不是我使用创建的所有控件都IB没有正确显示我已经检查过教程关于mobiletut如何在 iphone 5 用户界面中创建,但它只为以编程方式创建的控件提供解决方案,而不是为由创建的控件提供解决方案IB,因此对此主题有任何帮助。

iphone 4s 图片:

在此处输入图像描述

iphone 5 图片:

在此处输入图像描述

请忽略 iphone 5 img 中的小图像问题,我正在构建分辨率为 640*1136 的图像。

4

4 回答 4

0

我遇到了类似的问题。

这就是我解决问题的方法。

1) 放置 Default-568h@2x.png

2)为imageview设置一个属性并合成它,它是imageView的IBOutlet并连接它。

3)在viewdidload函数中

一个例子:

CGRect screenBounds = [[UIScreen mainScreen] bounds];
    if (screenBounds.size.height == 568) {
        // code for 4-inch screen
        _backgroundimageView.frame = CGRectMake(0,0,320,460);
        [_backgroundimageView setImage:[UIImage imageNamed:@"image1-568h@2x.png"]];
    } else {
        // code for 3.5-inch screen
         _backgroundimageView.frame =CGRectMake(0,0,320,370);
        [_backgroundimageView setImage:[UIImage imageNamed:@"image1.png"]];
    }

添加 Default-568h@2x.png 时,标签栏和导航栏将分别向下和向上移动。留在中心图像..调整大小..希望这有帮助..

于 2013-02-20T11:00:59.450 回答
0

在 iOS 5 中,您可以使用 Utilities 工具栏中的 Size 面板来设置控件的距离或大小,因为视图控制器会更改大小。

xCode 截图

如果您更改I,它将固定与屏幕顶部或侧面的距离。通过更改箭头,它将随着屏幕大小的变化而调整大小。

您需要将 AutoSizing 设置为如下图所示,并且您应该得到您想要的。

如果您将鼠标放在右侧的示例图像上,您可以预览视图控制器扩展和收缩时的外观

对于 iOS 6 应用程序,您应该使用约束。http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2上有一篇非常好的文章

于 2013-02-20T11:55:39.583 回答
0

正如 apascua 所说,您必须为 Retina 4 英寸设置默认启动图像。

顺便说一句,我认为管理 iPhone 4 和 iPhone 5 的多个接口的最佳解决方案是创建两个不同的 xib,一个被调用MyView_iPhone5.xib,另一个被调用MyView_iPhone4.xib,并通过一个实用程序类来管理它,该方法根据设备返回正确的 xib 名称应用程序正在运行。

检查这个要点:

https://gist.github.com/andrealufino/4994648

当您需要调用 nib 时,您可以使用这行代码

MyViewController *controller = [[MyViewController alloc] initWithNibName:[Utility nibName:@"MyNibName"] bundle:nil];
于 2013-02-20T10:41:11.450 回答
0

如果您来自 3.5 英寸显示器项目,您似乎必须为 4 英寸显示器设置启动图像才能工作。

在此处输入图像描述

于 2013-02-20T10:29:12.030 回答