- https://developer.apple.com/documentation/xcode/specifying-your-apps-launch-screen
- https://developer.apple.com/design/human-interface-guidelines/launching
LaunchScreen.storyboard 是 iOS 中用来在 App 启动时展示的启动画面,作用是提升用户体验,让 App 看起来“秒开”。下面是它的使用方式、步骤、生效机制和注意事项。
📱 什么是 Launch Screen(启动画面)?#
它是 App 启动时短暂显示的界面,用来掩盖 App 加载内容的过程。
系统自动加载,不由你的代码控制。
本质上是一个 Storyboard 文件,不能使用动态逻辑,只能使用静态布局。
🛠️ 使用步骤#
步骤 1:创建 LaunchScreen.storyboard(如果项目中没有)#
在 Xcode 中右键项目 →
New File选择
Storyboard→ 命名为LaunchScreen.storyboard默认会添加一个
View Controller场景
步骤 2:配置 Launch Screen#
你可以在 LaunchScreen.storyboard 中:
添加
UIImageView显示 Logo 或背景图设置背景色
添加
Label显示品牌名称等
⚠️ 不能添加动态内容,比如 Timer、按钮交互或代码逻辑。
步骤 3:在 Xcode 项目设置中启用#
打开 Xcode 左侧导航栏 → 选中顶层项目
进入
General标签页在
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 的项目设置中已经配置为启动画面,就会自动生效,无需代码干预。