将swift应用程序上的所有文本()在SwiftUI中设置为相同的颜色
我已经在我的Swift Playway应用程序中多次使用文本对象,但我希望将所有文本对象的颜色都更改为特定的白色,而不逐个更改每个文本属性。有办法做到这一点吗 免责声明:我正在Swift游乐场编程您可以创建自定义ViewModifier 然后,您可以在需要时将其应用于文本,只需在ViewModifier结构中对其进行更改将swift应用程序上的所有文本()在SwiftUI中设置为相同的颜色,swift,swiftui,swift-playground,Swift,Swiftui,Swift Playground,我已经在我的Swift Playway应用程序中多次使用文本对象,但我希望将所有文本对象的颜色都更改为特定的白色,而不逐个更改每个文本属性。有办法做到这一点吗 免责声明:我正在Swift游乐场编程您可以创建自定义ViewModifier 然后,您可以在需要时将其应用于文本,只需在ViewModifier结构中对其进行更改 struct ContentView: View { var body: some View { Text("Your Text")
struct ContentView: View {
var body: some View {
Text("Your Text")
.modifier(MyTextModifier())
}
}
可以创建自定义视图修改器
然后,您可以在需要时将其应用于文本,只需在ViewModifier结构中对其进行更改
struct ContentView: View {
var body: some View {
Text("Your Text")
.modifier(MyTextModifier())
}
}
您可以创建自己的视图,该视图的主体是文本,并且具有一个颜色属性,可以用作文本的前底色。如果将“颜色”属性设置为静态,它将应用于视图的所有实例
您只需确保在需要相同颜色的所有位置使用ColoredText而不是文本,如果更改ColoredText.color,所有实例都将应用新的文本颜色
struct ColoredText: View {
@State static var color: Color = .primary
@State var text: String
var body: some View {
Text(text)
.foregroundColor(ColoredText.color)
}
}
您可以创建自己的视图,该视图的主体是文本,并且具有一个颜色属性,可以用作文本的前底色。如果将“颜色”属性设置为静态,它将应用于视图的所有实例
您只需确保在需要相同颜色的所有位置使用ColoredText而不是文本,如果更改ColoredText.color,所有实例都将应用新的文本颜色
struct ColoredText: View {
@State static var color: Color = .primary
@State var text: String
var body: some View {
Text(text)
.foregroundColor(ColoredText.color)
}
}
如果要更改所有内容,可以使用以下选项:
struct ContentView: View {
var body: some View {
VStack {
Text("Hello World")
Text("aha")
Button(action: {}) {
Text("Tap here")
}
}.colorInvert()
.colorMultiply(Color.red)
}
}
如果要更改所有内容,可以使用以下选项:
struct ContentView: View {
var body: some View {
VStack {
Text("Hello World")
Text("aha")
Button(action: {}) {
Text("Tap here")
}
}.colorInvert()
.colorMultiply(Color.red)
}
}