颜色RGB初始化器在SwiftUI中无法作为背景

时间:2019-06-04 23:02:18

标签: swift swiftui

我正在尝试将按钮的背景色设置为一些自定义rgb值。我创建按钮如下:

Button(action: {
    print("tapped")
}) {
    Text("Let's go")
}
    .background(Color.black)

这很好用,并且按钮的背景实际上是黑色的。但是,当像这样初始化背景色时,它不起作用,并且根本没有背景色:

.background(Color(red: 242, green: 242, blue: 242))

那是为什么?

2 个答案:

答案 0 :(得分:2)

看起来它正在按百分比要求颜色,我能够做到这一点

Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255)

答案 1 :(得分:2)

对于每个音调,Color期望从Double0.0有3个1.0值。如果您通过此...

错误:

.background(Color(red: 242, green: 242, blue: 242))

由于所有值均大于1,因此将其转换为WHITE。

要解决此问题,您可以将每个值除以255,然后进行十六进制转换(作为1个答案)

正确:

Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255)