小智 4
创建一个自定义ViewModifier,添加您的颜色,并将其添加到您的视图中。例如,如果您希望所有视图均为橙色,请执行以下操作:
struct BackgroundColorStyle: ViewModifier {
func body(content: Content) -> some View {
return content
.background(Color.orange)
}
}
Run Code Online (Sandbox Code Playgroud)
用法是:
Text("Hello world!").modifier(BackgroundColorStyle())
Run Code Online (Sandbox Code Playgroud)
现在,您可以 - 也许应该 - 对此进行扩展以实现明/暗模式。在这种情况下,您可以使用环境变量ColorSchmem:
struct BackgroundColorStyle: ViewModifier {
@Environment (\.colorScheme) var colorScheme:ColorScheme
func body(content: Content) -> some View {
if colorScheme == .light {
return content
.background(Color.darkGrey)
} else {
return content
.background(Color.white)
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,每次View使用此修改器都会在一个位置定义其背景颜色。如果您想定义边框和背景颜色,也是一样。
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |