Xcode / plist - 运行 应用程序始终在 Dark/Light macOS 主题中
Xcode / plist - run application always in Dark/Light theme on macOS
有一个 属性 可以让应用程序 运行 始终处于深色模式 -- UIUserInterfaceStyle
问题是......它在 macOS 上不起作用。
我试过设置
- 灯光
- 浅色
- 轻
- .轻
- 1
文件内部修改正确:
<key>UIUserInterfaceStyle</key>
<string>Light</string>
但结果总是一样的 - 它只是不起作用,应用程序以主题的系统配置运行。
Xcode: Version 11.3.1 (11C504)
MacOS: 10.15.2 (19C57) Catalina
App is based on SwiftUI
第一个解决方案
尝试从设备或模拟器中卸载该应用程序。确保你清理了项目。右边的键确实是'Light',区分大小写。
好的,如果这不起作用,您可以做其他事情来达到相同的结果。
第二种解决方案
在 AppDelegates
的 didFinishLaunchingWithOptions
中调用以下代码
if #available(iOS 13, *) {
window.overrideUserInterfaceStyle = .light
}
请让我知道这是否适合您。
问题是 UIInterfaceStyle 是 UIKit 的一个特性。它适用于 tvOS/iOS。它在 MacOS 上什么都不做。您正在编写 MacOS 应用程序,而不是 iOS 应用程序。因此,您对 Info.plist 的更改自然无效。
在 MacOS 上选择退出 light/dark 模式的方式完全不同,记录在此处:
基本上你想使用 NSRequiresAquaSystemAppearance 键(尽管最好只采用暗模式兼容性)。
如果您正在寻找完整的 SwiftUI 版本:
import SwiftUI
@main
struct SwiftUI_Football_GridApp: App {
var body: some Scene {
WindowGroup {
ContentView().preferredColorScheme(.light)
}
}
}
有一个 属性 可以让应用程序 运行 始终处于深色模式 -- UIUserInterfaceStyle
问题是......它在 macOS 上不起作用。
我试过设置
- 灯光
- 浅色
- 轻
- .轻
- 1
文件内部修改正确:
<key>UIUserInterfaceStyle</key>
<string>Light</string>
但结果总是一样的 - 它只是不起作用,应用程序以主题的系统配置运行。
Xcode: Version 11.3.1 (11C504)
MacOS: 10.15.2 (19C57) Catalina
App is based on SwiftUI
第一个解决方案
尝试从设备或模拟器中卸载该应用程序。确保你清理了项目。右边的键确实是'Light',区分大小写。
好的,如果这不起作用,您可以做其他事情来达到相同的结果。
第二种解决方案
在 AppDelegates
的 didFinishLaunchingWithOptions
if #available(iOS 13, *) {
window.overrideUserInterfaceStyle = .light
}
请让我知道这是否适合您。
问题是 UIInterfaceStyle 是 UIKit 的一个特性。它适用于 tvOS/iOS。它在 MacOS 上什么都不做。您正在编写 MacOS 应用程序,而不是 iOS 应用程序。因此,您对 Info.plist 的更改自然无效。
在 MacOS 上选择退出 light/dark 模式的方式完全不同,记录在此处:
基本上你想使用 NSRequiresAquaSystemAppearance 键(尽管最好只采用暗模式兼容性)。
如果您正在寻找完整的 SwiftUI 版本:
import SwiftUI
@main
struct SwiftUI_Football_GridApp: App {
var body: some Scene {
WindowGroup {
ContentView().preferredColorScheme(.light)
}
}
}