web-dev-qa-db-ja.com

カラーRGB初期化子がSwiftUIの背景として機能しない

ボタンの背景色をカスタムRGB値に設定しようとしています。次のようにボタンを作成します。

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

これは正常に機能し、ボタンの背景は実際には黒です。ただし、次のように背景色を初期化すると、機能せず、背景色がまったくなくなります。

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

何故ですか?

14
LinusGeffarth

Colorは、トーンごとに0.0から1.0までの3つのDouble値を期待します。これを渡すと...

違う:

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

すべての値が1より大きいため、WHITEに変換されます。

これを修正するには、各値を255で割り、16進数の変換を取得します(1つの回答として)

正しい:

Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255)
0
Hernan Soberon