Поддерживаемые цвета по умолчанию свет / темный режим для Color vs UIColor - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь использовать встроенные цвета Apple (UIColor.label, UIColor.secondaryLabel и т. Д.), Но я не могу найти их Color эквивалент.Поскольку я не могу использовать их как Color, я не могу использовать их в своем коде SwiftUI.Есть ли способ использовать эти цвета в SwiftUI?

1 Ответ

2 голосов
/ 29 июня 2019

Мне удалось изменить код, который я нашел здесь , чтобы найти решение. Не лучшее решение в мире, но, похоже, оно работает.

extension Color {
    static var label = Color.from(uicolor: .label)

    static func from(uicolor: UIColor) -> Color {
        var red: CGFloat = 0
        var green: CGFloat = 0
        var blue: CGFloat = 0
        var alpha: CGFloat = 0

        uicolor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)

        return Color(red: Double(red), green: Double(green), blue: Double(blue)).opacity(Double(alpha))
    }
}

Использование:

Text("Test").color(.label)
...