web-dev-qa-db-fra.com

L'initialiseur RVB couleur ne fonctionne pas comme arrière-plan dans SwiftUI

J'essaie de définir la couleur d'arrière-plan d'un bouton sur une valeur RVB personnalisée. Je crée le bouton comme suit:

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

Cela fonctionne très bien et l'arrière-plan du bouton est en fait noir. Cependant, lors de l'initialisation de la couleur d'arrière-plan comme celle-ci, cela ne fonctionne pas et il n'y a tout simplement pas de couleur d'arrière-plan:

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

Pourquoi donc?

14
LinusGeffarth

Color attend 3 Double valeurs de 0.0 à 1.0 pour chaque ton. Si vous passez cela ...

FAUX:

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

Il est converti en BLANC car toutes les valeurs sont supérieures à 1.

Pour résoudre ce problème, vous pouvez diviser chaque valeur par 255 et obtenez votre conversion hexadécimale (comme 1 réponse)

CORRECT:

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