[Swift] Color Picker qui peut être utilisé avec copier-coller (palette qui vous permet de sélectionner librement les couleurs)

UIColorPickerViewController </ b> </ code> apparu dans iOS14, C'était facile à mettre en œuvre et très pratique, je vais donc le poster pour qu'il puisse être utilisé par copie. Cette fois, nous implémentons avec Storyboard </ b> au lieu de SwiftUI.

Environnement d'exécution version
Xcode 12.0
Swift 5

Qu'est-ce que ColorPicker?

Une palette de couleurs qui vous permet de sélectionner librement les couleurs et d'ajuster la transparence. image.png

Code du sélecteur de couleurs pouvant être utilisé avec une copie

Une fois démarrée, ce sera une application simple qui affichera ColorPickerViewController </ code>. Lorsque vous sélectionnez une couleur, elle sera reflétée dans la Backgraound Couleur </ code> de la vue </ code>.

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")
    }
}

Essayez de le faire fonctionner

colorPicker.gif

Explication ①

Expliquez les propriétés de UIColorPicekrViewController </ code>

Tout d'abord

python


colorPicker.supportsAlpha = true

・ Document officiel Apple supportsAlpha A Boolean value that enables alpha value control.

Valeur booléenne qui permet le contrôle de la transparence </ b> ... Apparemment ...

En d'autres termes La définition de la valeur de supportsAlpha </ code> sur false </ font> </ code> masque le contrôleur d'opacité du ColorPicker.

python


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

Suivant,

python


colorPicker.selectedColor = selectedColor

・ Document officiel Apple selectedColor The color selected by the user.

Couleur sélectionnée par l'utilisateur </ b> ... Apparemment ...

C'est vrai. Vous pouvez obtenir la couleur sélectionnée </ b> à partir de cette valeur, ou déterminer la couleur sélectionnée </ b> lorsque le UIColorPickerViewController </ code> est ouvert. pouvez.

Explication ②

Méthode déléguée </ b> de UIColorPicekrViewController </ code>

Première,

python


func colorPickerViewControllerDidSelectColor(_ viewController: UIColorPickerViewController) {
     }

・ Document officiel Apple colorPickerViewControllerDidSelectColor(_:) Informs the delegate when the user selects a color.

méthode déléguée appelée lorsque l'utilisateur sélectionne une couleur </ b> ... Apparemment ...

Cette fois, nous utilisons ce délégué pour attribuer la valeur de la couleur sélectionnée à la variable globale.

continuer,

python


func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) {
    }

・ Document officiel Apple colorPickerViewControllerDidSelectColor(_:) Informs the delegate that the user dismissed the view controller.

Méthode appelée lorsque l'utilisateur rejette UIColorPickerViewController </ b> ... Apparemment ...

Sommaire

C'est tellement simple à mettre en œuvre que je veux l'utiliser de plus en plus! Cependant, il ne peut pas être utilisé à moins qu'il ne soit compatible avec iOS14, il semble donc que je regarde là-bas.

Si vous trouvez des erreurs, veuillez les corriger.