如何解决SwiftUI:如何通过颜色名称字符串设置背景颜色
我有var color: String = "blue"
。使用该变量,我想设置按钮的背景颜色。我试过 .background(Color(color))
,但这不起作用。 .background(Color.blue)
或 .background(Color(.blue))
工作,但我想使用 String 变量。如何做到这一点?
解决方法
您可以比较输入的字符串并从中获取正确的颜色。请参见以下示例:
struct ContentView: View {
var body: some View {
Color(wordName: "red")
}
}
extension Color {
init?(wordName: String) {
switch wordName {
case "clear": self = .clear
case "black": self = .black
case "white": self = .white
case "gray": self = .gray
case "red": self = .red
case "green": self = .green
case "blue": self = .blue
case "orange": self = .orange
case "yellow": self = .yellow
case "pink": self = .pink
case "purple": self = .purple
case "primary": self = .primary
case "secondary": self = .secondary
default: return nil
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。