21

我的应用程序不使用自动布局,它最初是为 iPhone 4/4s 设计的,从那时起 UI 几乎没有改变。布局是相当小的,所以它没有被认为是优先切换它的自动布局。

以前为 iOS8 构建我的应用程序可以在 iPhone 5 和更新版本上正确缩放,填满屏幕。视图本身会填满整个屏幕,而图标会按比例缩放(这样它们就不会变形)。但是现在看来,使用 iOS9 测试版,该应用程序在顶部和底部都收到黑条,并且它基本上显示为缩放的 iPhone 4 应用程序,导致顶部和底部出现黑条。

基本上我想简单地缩放以适应全屏,就像它在 iOS8 中所做的一样。任何人都可以对导致这些黑条的变化有所了解吗?

我应该补充一点,如果它使用 xcode 7 (ios9 xcode) 构建并使用 iOs8 部署设备,它工作正常,问题是部署到 iOS9 设备。

该应用程序现在在 iOS9 上看起来像这样,红色区域现在是应用程序可用空间,而以前它是整个大小(注意黑条)。

4

5 回答 5

16

@Fantina @Goles 我可以通过创建和添加分辨率为 640x1136 的文件来临时解决此问题。Default-568h@2x.png然后我更新了“应用程序图标和启动图像”部分,如下所示:

没有图像源或启动屏幕文件

我不认为这是一个长期的解决方案,因为为了兼容 iOS9 和分屏应用程序,Apple需要故事板或 xib 文件。这使得仅依赖于程序化视图生成/布局的开发人员变得困难。呃。

于 2015-09-16T16:58:58.537 回答
9

我遇到了完全相同的问题,这很奇怪,我已经解决了错误,但我真的不知道为什么我的解决方案能成功。

将一个添加Launch Screen File到您的项目中(我已经从另一个较新的项目中复制了一个),仅此而已,该应用程序现在再次使用所有屏幕。

要添加Launch Screen File第一个创建 xib 文件,请使用 UIView 并填写您想要的任何内容。

在此处输入图像描述

然后您必须选择屏幕左侧的项目,选择应用程序目标(不是项目之一),在常规选项卡上搜索App Icons and Launch Images并将刚刚创建的 xib 名称放在Launch Screen File.

在此处输入图像描述

问题在于,这会激活Size classes应用程序界面,因此您必须检查应用程序的界面,因为缩放不再起作用。

PS:我正在使用 Xcode 7.0 GM

于 2015-09-16T15:45:09.557 回答
6

我有一个类似的问题,我已经通过在应用程序配置屏幕中将 Main.storyboard 设置为启动屏幕文件来解决它。它使所有屏幕都适合整个屏幕。

于 2015-09-18T12:07:42.963 回答
2

您可以通过以下方式添加 LaunchScreen 故事板:File/New/File...,然后在 iOS 组中,选择 UserInterface/Launch Screen。

然后选择它作为您的应用程序的启动屏幕,如 Fantini 给出的答案中所述。这就是 Xcode 7.0

于 2015-09-22T00:12:22.947 回答
1

我在升级到 xcode 9 后遇到了这个问题。有趣的是,该应用程序在模拟器上运行时看起来不错,但在连接的设备上运行时在底部显示一个黑条。在菜单中选择产品,然后按住 Option -> clean build folder 为我解决了这个问题。

于 2017-09-26T19:49:16.453 回答