在 iPhone X 模拟器的顶部和底部看到黑条

Posted

技术标签:

【中文标题】在 iPhone X 模拟器的顶部和底部看到黑条【英文标题】:Seeing black bars at the top and bottom of the iPhone X Simulator 【发布时间】:2018-02-21 09:59:49 【问题描述】:

在 iPhone X 模拟器(GM Seed)中运行我的应用程序我注意到两个奇怪的效果:

App 未使用全屏空间(顶部和底部区域为黑色) 标题栏下方有一个奇怪的白条

有谁知道这里发生了什么以及如何解决这个问题?我在 Interface Builder 中找不到任何新设置。

【问题讨论】:

您使用的是启动屏幕文件还是启动图像?你在使用自动布局吗? 启动图片和自动布局 您为什么使用旧式启动图像而不是更简单的启动屏幕文件?无论如何,您是否添加了新屏幕尺寸所需的新启动图像? 我找不到 iPhone X 尺寸的启动图像。但是使用启动屏幕解决了这两个问题。请编辑您的回复,我会将其标记为已回答。谢谢! 你不应该使用启动图像。改用Launch Screen.storyboard 【参考方案1】:

当使用启动图像(而不是更简单的启动屏幕文件)时,您需要为您希望支持的每种设备尺寸提供适当大小的启动图像。添加额外的启动图像后,您的应用应利用新的屏幕尺寸。

新 iPhone X 需要一个 1125px × 2436px 的启动图像,即 375pt × 812pt 的 3x 图像。

当然,如果您切换到使用启动屏幕文件而不是单独的启动图像,您的应用将自动适应所有设备尺寸,而无需任何额外工作。

【讨论】:

您能否详细介绍如何将新的 iphoneX 图像集成到启动屏幕中?我添加到 Xcode 9 的任何图像集都没有 iphoneX 插槽,只有启动图像集。 @ChristianCerri 图像集不绑定到设备。他们只是给你 1x、2x 和 3x 选项。我指的是启动图像。这些是唯一的设备特定图像。如果您对向启动屏幕添加不同尺寸的图像有疑问,请针对该问题发布您自己的问题。 如何在 iPhone X 模拟器的顶部和底部启动与黑条相关的图像??! @TomSawyer 如果您的应用不使用启动屏幕故事板,那么启动图像将决定您的应用支持的屏幕尺寸。 如果您仍然看到黑条并使用启动屏幕,请参阅@sabiland 的回答。如果这个答案可以补充一些关于如何为 iPhone X 正确设计启动屏幕的花絮,那就太好了。【参考方案2】:

我已经在 iPhone X 中发现了这个问题。启动图像大小 (1125*2436px) 请按照以下步骤进行操作。 1.i) 在 Xcode 中选择您的项目名称。 ii) 选择您的项目目标 iii)然后选择启动图像源

    您可以获得迁移弹出窗口 i) 选择资产 ii)选择迁移

    然后在项目中选择 Assets.xcassets

    然后选择在资产中启动图片 i)然后选择属性inspector

    最后检查您的启动图像源。你可以看到设置的启动图像。

【讨论】:

为图片点赞。但是您应该清除上一张图片中“启动屏幕文件”文本字段中的“LaunchScreen”文本。 感谢@NadtheVlad。请清除 Launch Screen File 中的“LaunchScreen”文本并从 Xcode 中删除 LaunchScreen.Storyboard 文件。 谢谢!是 Launch Image 中的横向复选框导致了问题,因为我的应用只是纵向的。 谢谢,遇到了同样的问题并通过添加启动图像(SDL2 应用程序)解决了它【参考方案3】:

iPhone X 需要不同的启动图像,大小为 1125px x 2436px (375pt x 812pt @3x)。

查看human interface guidelines了解更多详情。

【讨论】:

【参考方案4】:

我已经找到了解决方法(尽管我仍然不明白为什么这只发生在 iPhone X 上)iPhone X 上的 LaunchScreen 故事板看到黑色的顶部和底部条。

我有一个带有一个 UIImageView 的 LaunchScreen 故事板。

UIImageView 的 top&bottom 必须固定到 SuperView 的 top&bottom。不要到SafeArea

【讨论】:

这解决了我使用自动布局的 LauchScreen 的问题。但我没有固定在边框上,而是水平和垂直居中并将宽度/高度与 SuperView 相等。 这仅在将其他故事板中的视图固定到视图顶部/底部而不是布局指南之后才有效。请务必在 iPhone X 模式下检查情节提要。 为什么我去给那个约束时在我的故事板中看不到超级视图【参考方案5】:

我通过在Lanch Screen File 文本字段中简单地插入一些随机文本来修复它。我什至没有启动屏幕文件……XCode 太有问题了。

更新

虽然这在模拟器中修复了它(仍然非常奇怪和意外),但在将二进制文件上传到 iTunes Connect 时它会因为找不到名为“random-name”的 LanchScreen 文件而失败

【讨论】:

对它适用于 iphone x 。但它不适用于任何其他设备。 是的,是的!这在 xcode 中修复了它。谢谢!这对于测试来说已经足够好了。以后会买一个真正的 iphone X 来避免 xcode 问题。【参考方案6】:

在尝试更新我有一段时间没有使用过的应用程序时遇到了这个问题。

在 Xcode 9.4 上,我可以通过执行以下操作来解决此问题:

    通过转到文件 -> 新建 -> 文件... -> 启动屏幕来添加启动屏幕

    确保在项目设置下选择新添加的启动屏幕故事板作为启动屏幕文件。

【讨论】:

【参考方案7】:

如果您已有 1125px × 2436px 的启动图片,但应用仍未使用全屏检查以确保您的图片为 PNG。

【讨论】:

【参考方案8】:

如果您删除了 LaunchScreen.storyboard;选择你的项目,选择你的项目目标,General -> App Icons and Launch Images -> Launch Screen File:这里选择Main.storyboard而不是LaunchScreen.storyboard

【讨论】:

【参考方案9】:

刚刚遇到这个问题...当我选择项目和正确的目标时,应用程序图标和启动屏幕图像选项卡下的“启动屏幕文件”为空白。我将它设置为默认的 LaunchScreen 并且我面临的调整大小问题得到了解决。

【讨论】:

【参考方案10】:

您可以检查项目目标启动屏幕文件是否未设置为空,如果它为空可能会导致问题。

【讨论】:

在目标中选择 Laaunchscreen.storyboard 我解决了问题。【参考方案11】:

是的,我也面临 ios 15 中的顶部间距问题,

iOS 15 需要一些新尺寸的 Launch 图片

所以请检查所有启动屏幕图像

检查你的属性检查器是 Launchscreen 的纵向

【讨论】:

以上是关于在 iPhone X 模拟器的顶部和底部看到黑条的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9 Xcode 7 - 应用程序在顶部和底部出现黑条

UITableView 出现奇怪的黑条

ios应用程序上的黑条

适配iphoneX底部的小黑条

使用 Xamarin.Forms 应用程序填充 iPhone X 屏幕

使用Xamarin.Forms应用程序填充iPhone X屏幕