Xcode — LaunchScreen
This article is extracted from the chat log with AI. Please identify it with caution.

LaunchScreen.storyboard 是 iOS 中用来在 App 启动时展示的启动画面,作用是提升用户体验,让 App 看起来“秒开”。下面是它的使用方式、步骤、生效机制和注意事项


📱 什么是 Launch Screen(启动画面)? #

  • 它是 App 启动时短暂显示的界面,用来掩盖 App 加载内容的过程。

  • 系统自动加载,不由你的代码控制。

  • 本质上是一个 Storyboard 文件,不能使用动态逻辑,只能使用静态布局。


🛠️ 使用步骤 #

步骤 1:创建 LaunchScreen.storyboard(如果项目中没有) #

  1. 在 Xcode 中右键项目 → New File

  2. 选择 Storyboard → 命名为 LaunchScreen.storyboard

  3. 默认会添加一个 View Controller 场景


步骤 2:配置 Launch Screen #

你可以在 LaunchScreen.storyboard 中:

  • 添加 UIImageView 显示 Logo 或背景图

  • 设置背景色

  • 添加 Label 显示品牌名称等

⚠️ 不能添加动态内容,比如 Timer、按钮交互或代码逻辑


步骤 3:在 Xcode 项目设置中启用 #

  1. 打开 Xcode 左侧导航栏 → 选中顶层项目

  2. 进入 General 标签页

  3. App Icons and Launch Images 区域:

    • 找到 Launch Screen File

    • 输入或选择 LaunchScreen(不带 .storyboard 后缀)


步骤 4(可选):设置全屏样式或暗色模式适配 #

  • 你可以设置 Auto Layout 以适应不同屏幕大小

  • 使用 Color Set 设置不同模式下的颜色

  • 可以借助 Asset Catalog 提供的 Appearance 支持暗黑模式


⚙️ 生效机制 #

  • 系统在 App 进程还未启动时就会读取 Info.plist 中的 UILaunchStoryboardName(默认由 Xcode 自动配置)。

  • UIKit 会根据设备尺寸、系统暗色模式等加载并渲染该 Storyboard 内容。

  • App 加载完成后会立刻替换为你自己的 UI(如 @main 的 SwiftUI 或 AppDelegate/SceneDelegate 中设置的窗口)


🧾 Info.plist 中的对应字段 #

Xcode 自动设置这个字段:

<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>

你也可以手动指定(但通常不建议更改)。


🚫 不推荐的旧方法(仅供参考) #

  • 以前 iOS 使用 LaunchImage(启动图片),通过固定图片适配不同设备尺寸。

  • 从 iOS 13 开始,不推荐使用 LaunchImage,推荐统一使用 LaunchScreen.storyboard

  • 若你仍使用 LaunchImage,需要在 Asset Catalog 中配置 LaunchImage 资源集,但这限制了响应性和暗黑模式。


🚨 注意事项 #

项目限制
动态逻辑❌ 不支持
计时器/动画❌ 不允许
透明背景❌ 不生效,背景必须填满
多语言✅ 支持,如果你添加了 Localized Storyboard
Auto Layout✅ 强烈推荐(自适应)
安全区域✅ 使用 Safe Area 布局可更好地适配刘海屏

🎯 设计建议(来自 Apple HIG) #

  • 匹配 App 首屏内容,减少“闪变感”

  • 使用品牌颜色、Logo、图形或简化版 UI

  • 不要加载网络图像、不要添加延迟,系统会立即替换它


✅ 示例用法总结 #

你可以在 LaunchScreen.storyboard 中设计一个画面,比如:

  • 背景:白色

  • 居中:App 图标(使用 UIImageView

  • 下方:一句口号(Label

设置完后保存,确认在 Xcode 的项目设置中已经配置为启动画面,就会自动生效,无需代码干预。

本文共 1015 字,创建于 May 21, 2025
相关标签: Xcode, SwiftUI, ByAI