-1

我已经安装了 Xcode 4.5.1,并且我有一个为 iOS 5 开发的应用程序。我想升级项目,因为我可以发布应用程序升级,包括 4 英寸视网膜显示器的新启动图像。

问题是,当我在 iPhone 6 模拟器上运行时,应用程序会像苹果所说的那样在上方和下方显示黑条。但是,当我此时插入新 4" (640x1136) 的启动图像时,我在 iPhone 6 模拟器上运行时正确显示了新的启动图像,但来自 App 的背景图像显示不好,因为该应用程序似乎以全屏运行而不是继续根据需要显示上方和下方的黑条。

因此,如果我不为 4" 插入新的启动图像,我将无法发布我的应用程序的任何新更新,但是,如果我为 4" 插入新的启动图像,则应用程序显示错误的所有视图控制器,因为背景图像和布局是设计表格 3'5" 显示器...这是正确的吗?

如何解决这种情况,如果屏幕尺寸为 4",我必须在代码中控制如果不是,则从这个新分辨率放置一张图像,当前图像?

4

1 回答 1

1

您的应用程序的背景图像都需要更新以支持 4" 大小。此外,简单地创建后缀为 *-568h@2x.png 的应用程序版本不会自动使用它们(就像 *@2x.png 一样在 *.png). 你将不得不修改你的代码来确定屏幕的大小,如果它是 568 的高度,那么你将背景图像视图中的图像替换为 -568h 版本。你可以搜索这里有很多答案。我使用的是相当简单的:

- (void)viewDidLoad {
    [超级视图DidLoad];
    // 对于 iPhone 5
    // 假设 self.bgView 是背景视图
    CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
    if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
        self.bgView.image = [UIImage imageNamed:@"SomeImage-568h@2x"];
    }
...
}
于 2012-10-10T11:31:26.070 回答