颜色 rgb 初始值设定项在 SwiftUI 中不作为背景工作

Color rgb initializer not working as background in SwiftUI

我正在尝试将按钮的背景颜色设置为某个自定义 rgb 值。我按如下方式创建按钮:

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

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

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

这是为什么?

看起来它要求的是百分比颜色,我可以让它工作

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

对于每个音调,Color 需要从 0.01.0 的 3 个 Double 值。如果你通过了这个...

错误:

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

由于所有值都大于 1,因此它被转换为白色。

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

正确:

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