iOS Xcode LaunchScreen 故事板未显示

iOS Xcode LaunchScreen Storyboard not displaying

我正在尝试使用 Xcode 的 LaunchScreen 情节提要 作为我的启动屏幕?之前被问及的所有问题都涉及到旧的启动图像或 .xib 方法 - 现在尝试使用 Xcode 自动生成的新 LaunchScreen 故事板来完成。我在我的部署信息中选择了 LaunchScreen 故事板作为我的启动屏幕文件:

情节提要本身确认它已在其文件检查器中设置为启动屏幕。

info.plist 文件也反映了这一点。

然而,它不起作用。 LaunchScreen 故事板从不显示 - 它直接进入我的主故事板中的第一个屏幕。使用 Xcode 7.2 并部署到 iOS 9。

万一其他人遇到这个问题,我通过简单地删除 LaunchScreen 故事板上的 ViewController(留下一个空的故事板)、创建一个新的 ViewController 并重置新 ViewController 的故事板入口点。 XCode 7.2 在 LaunchScreen 故事板和自动创建的视图控制器的默认入口点方面可能存在某种错误,但话又说回来,我已经尝试将其复制 3 次,但从来没有重复自己,所以也许不是。

为 LaunchScreen.storyboard

启用这两个设置

以防万一它对某人有帮助。 场景,我创建了我的新项目并从另一个项目复制了一个旧的启动图像。然后开始获取启动图像,但是当我想将其更改为新图像时,我仍然在查看旧图像,无论我做什么,它都永远作为启动图像卡住。 然后我重置了我的模拟器并重新启动了我的 iPhone 然后你就开始了我盯着新图像。这看起来像是在文档或缓存设备中的某处存储旧图像,直到您重置 phone。 谢谢

在 xcode9 swift4 LaunchScreen 故事板 中,使用 .jpg 图像并取消选中 imageview 的清除图形上下文。它绝对有效。

另一件事要确保启动屏幕文件设置为启动Screen.storyboard

**从设备中删除应用程序。再运行。 **

就我而言,我正确设置了所有建议的设置,但继续使用原始的空白启动屏幕。本着 AmJa 关于 "cache" 问题的建议的精神,我从我的设备上删除了我的应用程序并重新安装。在我的设备和模拟器上重新安装对我有用。

其他解决方案对我不起作用,但这个确实有效:

  • 打开和关闭设备方向(例如支持上下颠倒)和隐藏状态栏。

我不确定是哪一个成功了,但现在可以了。

因为 Xcode 10.1 在创建新的 iOS Launch 时不包含新 11" iPad Pro 的启动选项,所以我一直在用头撞墙图像设置,没有它,iPad Pro 无法正确显示,让我别无选择,只能使用启动屏幕故事板来实现它。

我尝试了很多东西的组合,但我想 post 最终使它 100% 有效的东西(事实上,这是很多东西的组合)。

正如您所读到的,对于启动屏幕情节提要中的 UIImageView,您不应包含扩展名(.jpg 或 .png)。这么多 post 都这么说,但忽略了原因是您应该在 Images.xcassets 中创建一个新图像集(不是启动屏幕图像集,而只是图像集)并随意命名(例如,"Launch-Default")。然后,将所需的 .jpg 或 .png 拖放到新图像集中。然后,您将在故事板的 UIImageView 中使用该图像集的名称,一切都应该正常工作(图像甚至应该显示在 Interface Builder 中)。

此外,在项目的常规设置中,确保将启动屏幕文件设置为您的新故事板。

在我的示例中,视图(全屏)的背景颜色设置为 "missing" 颜色文字!当然,在尝试了以上所有方法之后 ;(

如果您没有看到任何东西并且您的 Launchscreen.storyboard 中只有一个 ImageView,那么它可能实际上显示的是故事板而不是图像。尝试在其中放置一个按钮或其他东西。我发现我的 Launchscreen.storyboard 实际上在显示但不会显示任何图像,我不知道为什么。

在故事板中,在 ViewController 场景中,我必须检查 Is Initial View Controller for storyboard 才能被视为 Launch Storyboard。

令人惊讶的是,当您添加第一个 View Controller 时,这并没有被选中。 Xcode11.

如果您使用的是 xcode 11.2,您需要删除该应用并再次执行它才能看到启动屏幕。每次修改启动屏幕时我都必须这样做才能看到新的更改。

正如@abanet 在他的回答中提到的,任何使用 Xcode 11.2 及更高版本的人,他们 必须删除他们的应用程序并启动它再次 以查看启动屏幕的变化。它不会立即反映出来。它看起来像是 Xcode 的错误,绝对不是意图。

您需要添加特定于应用程序方向的启动屏幕。

启动屏幕纵向:https://app.box.com/s/hfoeuvsy68iu913keb8p5hs1z9fdz3jk

启动屏幕横向:https://app.box.com/s/o9q5nkrvk2ewdh57oiiar85zf658olgj

将 LaunchScreen.storyboard 和 LaunchScreenBackground.png 拖到 Xcode 边栏。然后在 Xcode General 页面中指定 LaunchScreen。请参阅附件图片

如何为 Xcode 11.0 及更高版本修复

  • 执行此操作: 如果您还没有,然后:
  • 从设备/模拟器中删除应用程序
  • 重启设备/模拟器

原因: Storyboard 的 Launch Screen 部分在开发期间被缓存,并且在您从设备/模拟器中删除应用程序并完全重新安装之前不会更改。

问题也可能是“LaunchScreen.storyboard”未添加到此目标。

要解决此问题,请打开“LaunchScreen.storyboard”,然后按“文件检查器”并在“目标成员资格”下将其添加到所需的目标。

一张jpg图片有问题将扩展名改为png或使用其他png图片 对我来说就像一个魅力

我尝试了这里提到的所有方法,唯一对我有用的是创建一个新的 LaunchScreen 文件。我正在使用 Xcode 12.1 (不要忘记更新目标设置中的引用)

在我的例子中,问题是徽标的图像是从不同的目标拍摄的。确保图像来自应用程序的主要目标,并通过菜单 Device/Erase All Content ad Settings...

重置模拟器