SwiftUI 是苹果推出的一个现代 UI 框架,它允许开发者使用声明式语法来构建用户界面。SwiftUI 的预览功能允许开发者在 Xcode 中实时查看 UI 的效果,包括暗模式下的样式。
暗模式是一种用户界面设计,它在较暗的背景色上使用较亮的文字和元素,以减少屏幕亮度,从而减少眼睛疲劳,并且在低光环境下提供更好的可视性。SwiftUI 提供了对暗模式的内置支持,可以通过 @Environment
属性包装器来访问当前的颜色方案。
在 Xcode 11.4 中,SwiftUI 的预览功能可能没有正确显示暗模式的黑色背景,这可能是因为 Xcode 11.4 发布时 SwiftUI 还处于较早期版本,对暗模式的支持可能不完善。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.previewDevice(PreviewDevice(rawValue: "iPhone 11"))
.previewInterfaceOrientation(.portrait)
.colorScheme(.dark) // 手动设置颜色方案为暗模式
}
}
@Environment
属性包装器:在你的 SwiftUI 视图中使用 @Environment(\.colorScheme)
来根据当前的颜色方案动态改变 UI。struct ContentView: View {
@Environment(\.colorScheme) var colorScheme
var body: some View {
VStack {
Text("Hello, World!")
.foregroundColor(colorScheme == .dark ? .white : .black)
.padding()
}
.background(colorScheme == .dark ? Color.black : Color.white)
}
}
通过上述方法,你应该能够在 Xcode 中正确预览 SwiftUI 的暗模式效果。如果问题仍然存在,建议检查 Xcode 的更新或者查看苹果开发者文档获取最新的支持信息。
领取专属 10元无门槛券
手把手带您无忧上云