如何在macOS Swift应用中强制关闭深色模式并始终使用浅色模式?
强制Swift应用始终使用浅色模式的两种方法
方法一:通过Info.plist配置(无需代码)
这是最简洁的全局设置方式:
- 打开项目中的
Info.plist文件 - 点击加号添加新键值对:
- 键输入
UIUserInterfaceStyle - 值选择字符串类型,输入
Light
- 键输入
设置完成后,应用启动时会直接锁定为浅色模式,不受系统全局明暗设置影响。
方法二:在AppDelegate中通过代码设置
如果偏好代码控制,可在application(_:didFinishLaunchingWithOptions:)方法中添加以下逻辑,确保覆盖所有窗口的界面样式:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // 适配iOS13及以上版本,强制所有窗口使用浅色模式 if #available(iOS 13.0, *) { application.windows.forEach { window in window.overrideUserInterfaceStyle = .light } } return true }
注:之前仅设置
UIApplication.shared.windows.first可能失效,原因是部分场景下应用存在多个窗口,遍历所有窗口能确保全局生效。
内容的提问来源于stack exchange,提问作者Laurent Crivello
相关产品推荐
相关产品推荐

