web-dev-qa-db-fra.com

Puis-je utiliser des littéraux de couleurs à swiftui

Je veux utiliser mes atouts de couleurs du catalogue des actifs en utilisant des littéraux de couleurs. Dans UIKit, nous pouvons utiliser directement la couleur littéral, existe-t-il un moyen d'utiliser les littéraux de couleurs à Swiftui

J'ai recherché à partir d'initialiseur couleur avec UIColor paramètre mais aucun trouvé

9
Amit Samant

Remarque : beta 5 a une initiative pour cela déjà et pas besoin de le mettre en œuvre. Mais si vous utilisez une version antérieure, avec l'aide de certaines extensions pour UIColor:

extension UIColor {
    var rgba: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
        var red: CGFloat = 0
        var green: CGFloat = 0
        var blue: CGFloat = 0
        var alpha: CGFloat = 0
        getRed(&red, green: &green, blue: &blue, alpha: &alpha)

        return (red, green, blue, alpha)
    }
}

alors pour Color:

extension Color {
    init(_ uiColor: UIColor) {
        self.init(red: Double(uiColor.rgba.red),
                  green: Double(uiColor.rgba.green),
                  blue: Double(uiColor.rgba.blue),
                  opacity: Double(uiColor.rgba.alpha))
    }
}

Ensuite, vous pouvez utiliser ColorLiteral comme ceci:

Color(#colorLiteral(red: 1, green: 0, blue: 0, alpha: 1))

ou tout autre uicolor:

Color(.red)
1
Mojtaba Hosseini

Couleur facile de glisser-déposer pour Xcode Swift UI

Je trouve utile lorsque vous concevez des mises en page où je dois trouver et ajuster une couleur rapidement pour utiliser cette méthode.

Je fais cela chaque fois que je veux utiliser les littéraux de couleurs de glisser-déposer de style à Swiftui.

Plus tard, je peux revenir en arrière et ajouter la couleur codée dur à ma palette de couleurs simplement en commentant "//" la ligne littérale couleur dans mon code qui révèle le RVB pour ma couleur sélectionnée.


Using Easy Drag and Drop Color Literals with Xcode, Swift, SwiftUI


  • Désolé, je n'ai pas pu trouver d'autre moyen de décrire cette réponse, à l'exception de la publication de ce format *

J'espère que cela pourra aider.

0
Jim Bray

Vous pouvez utiliser la méthode GERED () d'Uicolor pour obtenir les composants rouges, verts, bleus et alpha, puis utilisez-les pour créer un objet de couleur. Vous pouvez même créer une extension qui l'a fait pour vous.

0
Michael Salmon