SwiftUI自定义配色应用如何修改启动闪屏颜色?
解决SwiftUI自定义配色应用启动白屏替换问题
这个启动阶段的白屏是**Launch Screen(启动屏)**的默认底色,和你SwiftUI代码里的配色设置无关——因为启动时App还没加载执行SwiftUI逻辑,得从Launch Screen的配置入手修改,以下是具体方案:
方法一:通过Launch Screen Storyboard/Xib设置
- 打开项目中的
LaunchScreen.storyboard(Xcode 14+可能是LaunchScreen.xib) - 选中根视图(ViewController的View),在右侧「Attributes Inspector」面板中找到「Background」选项,直接选择你需要的颜色
- 如果要用自定义配色,先把颜色添加到
Assets.xcassets,再从颜色选择器的「Assets」分类里选中它
- 如果要用自定义配色,先把颜色添加到
方法二:通过Asset Catalog Launch Image设置(Xcode 14+推荐)
- 打开
Assets.xcassets,右键选择「New Launch Image Set」 - 选中新建的Launch Image Set,在右侧「Attributes Inspector」里找到「Background Color」,设置为目标颜色
- 进入项目设置的「General」标签,在「App Icons and Launch Images」区域,把「Launch Screen」选项改为你刚创建的Launch Image Set
为什么之前的操作无效?
preferredColorScheme(.dark)是SwiftUI运行时才会生效的配置,启动阶段还没执行到这段代码- 单独修改Info.plist或添加Assets资源,没有关联到Launch Screen的配置,启动时不会加载这些内容
修改完成后,执行Command+Shift+K清理项目,重新运行就能看到启动时的底色变成你设置的颜色了。
内容的提问来源于stack exchange,提问作者Duck
相关产品推荐
相关产品推荐

