ColorPicker in SwiftUI


Eine standartisierte View zur Auswahl von Farben ist eine weitere Ergänzung, die dem SwiftUI-Framework im Jahr 2020 hinzugefügt wurde. Vermutlich ist die Anzahl von Anwendungen, die so einen ColorPicker benötigen nicht hoch, falls er aber gebraucht wird, ist er leicht zu implementieren. Erforderlich ist zunächst eine Variable vom Typ Color, die an das ColorPicker-Steuerelement gebunden wird. Der Wert der ausgewählten Farben wird somit automatisch in der Variablen aktualisiert.

struct ColorPickerViewView {

    

    @State private var selectedColor = Color.green

    

    var body: some View {

        VStack {

            ColorPicker("Wähle die Farbe", selection: $selectedColor)

            

            Rectangle()

                .fill(selectedColor)

                .frame(width: 100, height: 100, alignment: .center)

        }.padding()

    }

}

Stacks Image 187
Stacks Image 190

Standardmäßig unterstützt ein ColorPicker Farben mit Transparenz (opacity) in der Auswahl. Unter Verwendung eines alternativen Initialisierer kann diese Option deaktiviert werden. Die Eigenschaft supportsOpacity muss dabei auf false gesetzt werden.

struct ColorPickerViewView {

    

    @State private var selectedColor = Color.green

    

    var body: some View {

        VStack {

            ColorPicker("Wähle die Farbe", selection: $selectedColor, supportsOpacity: false)

            

            Rectangle()

                .fill(selectedColor)

                .frame(width: 100, height: 100, alignment: .center)

        }.padding()

    }

}


Geschrieben am: 30.10.2020
Technologien: Swift, SwiftUI, macOS, iOS