online from custom uicolor swift4

from - uicolor swift hex



init(colorLiteralRed:, verde:, azul:, alfa:) en desuso en Swift 4 (4)

Otra forma: https://developer.apple.com/documentation/uikit/uicolor/1621925-init

init (displayP3Red: CGFloat, verde: CGFloat, azul: CGFloat, alfa: CGFloat)

Inicializa y devuelve un objeto de color utilizando la opacidad especificada y los valores de los componentes RGB en el espacio de color de la pantalla P3.

puede usar displayP3Red lugar 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()

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()

Error:

''init (colorLiteralRed: green: blue: alpha :)'' fue obsoleto en Swift 4.0 (Swift._ExpressibleByColorLiteral)

¿Cómo uso el color degradado si init(colorLiteralRed:,green:,blue:,alpha:) está en desuso en Swift 4?


Simplemente puede usar el siguiente método de clase UIColor para instanciar el color de Rojo, Verde, Azul, Alfa

Nota: Rojo, Verde, Azul y Alfa tienen un valor que va de 0 a 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) }

Para crear una capa de degradado puede tomar referencia de

https://www.appcoda.com/cagradientlayer/


puedes usar

UIColor(red: CGFloat(255.0), green: CGFloat(255.0), blue: CGFloat(255.0), alpha: CGFloat(255.0))


init(colorLiteralRed:green:blue:alpha:) está diseñado para ser usado con Color Literals que son administrados por herramientas de desarrollo.

¿Por qué no usas init(red:green:blue:alpha:) normal init(red:green:blue:alpha:) ?

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()

(Escribir como 234.0/255.0 no es obligatorio, en el contexto anterior en Swift. Pero impide que el compilador Swift interprete 234/255 como una división entera en otros contextos).