- 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 的项目设置中已经配置为启动画面,就会自动生效,无需代码干预。