let startingColorOfGradient = UIColor(colorLiteralRed: 255/255, green:
255/255, blue: 255/255, alpha: 1.0).cgColor
let endingColorOFGradient = UIColor(colorLiteralRed: 251/255, green:
247/255, blue: 234/255, alpha: 1.0).cgColor
let gradient: CAGradientLayer = CAGradientLayer()
Erreur:
'init (colorLiteralRed: green: blue: alpha :)' était obsolète dans Swift 4.0 (Swift._ExpressibleByColorLiteral)
Comment utiliser une couleur de dégradé si init(colorLiteralRed:,green:,blue:,alpha:)
est obsolète dans Swift 4?
init(colorLiteralRed:green:blue:alpha:)
est destiné à être utilisé avec des littéraux de couleur gérés par des outils de développement.
Pourquoi n'utilisez-vous pas init(red:green:blue:alpha:)
normal?
let startingColorOfGradient = UIColor(red: 255.0/255.0, green:
255.0/255.0, blue: 255.0/255.0, alpha: 1.0).cgColor
let endingColorOFGradient = UIColor(red: 251.0/255.0, green:
247.0/255.0, blue: 234.0/255.0, alpha: 1.0).cgColor
let gradient: CAGradientLayer = CAGradientLayer()
(Écrivant comme 234.0/255.0
n'est pas obligatoire, dans le contexte décrit ci-dessus dans Swift. Mais il empêche Swift compilateur d'interpréter 234/255
comme une division entière dans d’autres contextes.)
Vous pouvez simplement utiliser la méthode ci-dessous de la classe UIColor pour instancier des couleurs à partir de rouge, vert, bleu et alpha.
Remarque: les valeurs Rouge, Vert, Bleu et Alpha ont une valeur comprise entre 0 et 1.
let colorStart = UIColor(red:0.1 , green: 0.2, blue: 0.5, alpha: 1.0)
let colorEnd = UIColor(red:0.21 , green: 0.32, blue: 0.15, alpha: 1.0)
func createGradientLayer() {
gradientLayer = CAGradientLayer()
gradientLayer.frame = self.view.bounds
gradientLayer.colors = [colorStart.CGColor, colorEnd.CGColor]
self.view.layer.addSublayer(gradientLayer)
}
Pour créer un calque dégradé, vous pouvez vous référer à
Une autre manière: https://developer.Apple.com/documentation/uikit/uicolor/1621925-init
init (displayP3Red: CGFloat, vert: CGFloat, bleu: CGFloat, alpha: CGFloat)
Initialise et retourne un objet de couleur en utilisant les valeurs d'opacité et de composant RVB spécifiées dans l'espace colorimétrique Display P3.
vous pouvez utiliser displayP3Red
au lieu de colorLiteralRed
let startingColorOfGradient = UIColor(displayP3Red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0).cgColor
let endingColorOFGradient = UIColor(displayP3Red: 251/255, green: 247/255, blue: 234/255, alpha: 1.0).cgColor
let gradient: CAGradientLayer = CAGradientLayer()
vous pouvez utiliser
UIColor(red: CGFloat(255.0), green: CGFloat(255.0), blue: CGFloat(255.0), alpha: CGFloat(255.0))