[Swift] Farbwähler, der zum Kopieren und Einfügen verwendet werden kann (Palette, mit der Sie Farben frei auswählen können)

UIColorPickerViewController </ b> </ code>, der in iOS14 angezeigt wurde, Es war einfach zu implementieren und sehr praktisch, daher werde ich es veröffentlichen, damit es durch Kopieren verwendet werden kann. Dieses Mal implementieren wir mit Storyboard </ b> anstelle von SwiftUI.

Ausführungsumgebung Ausführung
Xcode 12.0
Swift 5

Was ist ColorPicker?

Eine Farbpalette, mit der Sie Farben frei auswählen und die Transparenz anpassen können. image.png

Farbauswahlcode, der mit Kopie verwendet werden kann

Beim Start handelt es sich um eine einfache App, die ColorPickerViewController </ code> anzeigt. Wenn Sie eine Farbe auswählen, wird diese in der Hintergrundfarbe </ code> der -Ansicht </ code> angezeigt.

python


import UIKit

class CPSampleViewController: UIViewController {
    
    var colorPicker = UIColorPickerViewController()
    var selectedColor = UIColor.white

    override func viewDidLoad() {
        super.viewDidLoad()
        colorPicker.delegate = self
        view.backgroundColor = selectedColor
        appearColorPicker()
    }
    
    func appearColorPicker() {
        colorPicker.supportsAlpha = true
        colorPicker.selectedColor = selectedColor
        present(colorPicker, animated: true)
    }
}

extension CPSampleViewController: UIColorPickerViewControllerDelegate {
    func colorPickerViewControllerDidSelectColor(_ viewController: UIColorPickerViewController) {
        selectedColor = viewController.selectedColor
        view.backgroundColor = selectedColor
    }
    
    func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) {
        print("dismissed colorPicker")
    }
}

Versuchen Sie, es zum Laufen zu bringen

colorPicker.gif

Erklärung ①

Erläutern Sie die Eigenschaften von UIColorPicekrViewController </ code>

Als allererstes

python


colorPicker.supportsAlpha = true

・ Offizielles Dokument von Apple supportsAlpha A Boolean value that enables alpha value control.

Bool-Wert, der die Kontrolle der Transparenz ermöglicht </ b> ... anscheinend ...

Mit anderen Worten Wenn Sie den Wert von supportAlpha </ code> auf false </ font> </ code> setzen, wird der Opacity-Controller des ColorPicker ausgeblendet.

python


colorPicker.supportsAlpha = false
スクリーンショット2.png

Nächster,

python


colorPicker.selectedColor = selectedColor

・ Offizielles Dokument von Apple selectedColor The color selected by the user.

Vom Benutzer ausgewählte Farbe </ b> ... anscheinend ...

Korrekt. Sie können die ausgewählte Farbe </ b> aus diesem Wert abrufen oder die ausgewählte Farbe </ b> bestimmen, wenn der UIColorPickerViewController </ code> geöffnet wird. können.

Erklärung ②

Delegate-Methode </ b> von UIColorPicekrViewController </ code>

Zuerst,

python


func colorPickerViewControllerDidSelectColor(_ viewController: UIColorPickerViewController) {
     }

・ Offizielles Dokument von Apple colorPickerViewControllerDidSelectColor(_:) Informs the delegate when the user selects a color.

Delegatmethode, die aufgerufen wird, wenn der Benutzer eine Farbe auswählt </ b> ... anscheinend ...

Dieses Mal verwenden wir diesen Delegaten, um der globalen Variablen den Wert der ausgewählten Farbe zuzuweisen.

fortsetzen,

python


func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) {
    }

・ Offizielles Dokument von Apple colorPickerViewControllerDidSelectColor(_:) Informs the delegate that the user dismissed the view controller.

Methode, die aufgerufen wird, wenn Benutzer UIColorPickerViewController </ b> schließen ... anscheinend ...

Zusammenfassung

Es ist so einfach zu implementieren, dass ich es immer mehr verwenden möchte! Es kann jedoch nur verwendet werden, wenn es mit iOS14 kompatibel ist. Es scheint also, als würde ich dort herumschauen.

Wenn Sie Fehler finden, korrigieren Sie diese bitte.