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

Lin*_*rth 6 swift swiftui

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

Button(action: {
    print("tapped")
}) {
    Text("Let's go")
}
    .background(Color.black)
Run Code Online (Sandbox Code Playgroud)

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

.background(Color(red: 242, green: 242, blue: 242))
Run Code Online (Sandbox Code Playgroud)

这是为什么?

小智 15

每个音调期望有从到Color3 个Double值。如果你通过了这个...0.01.0

错误的:

.background(Color(red: 242, green: 242, blue: 242))
Run Code Online (Sandbox Code Playgroud)

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

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

正确的:

Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255)
Run Code Online (Sandbox Code Playgroud)


Mic*_*air 10

看起来它要求以百分比表示颜色,我能够使其正常工作

Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255)
Run Code Online (Sandbox Code Playgroud)