init(colorLiteralRed:,green:,blue:,alpha:) 在 Swift 4 中已弃用 [英] init(colorLiteralRed:,green:,blue:,alpha:) deprecated in Swift 4

查看:32
本文介绍了init(colorLiteralRed:,green:,blue:,alpha:) 在 Swift 4 中已弃用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

错误:

'init(colorLiteralRed:green:blue:alpha:)' 在 Swift 4.0 (Swift._ExpressibleByColorLiteral) 中被废弃

'init(colorLiteralRed:green:blue:alpha:)' was obsoleted in Swift 4.0 (Swift._ExpressibleByColorLiteral)

如果 init(colorLiteralRed:,green:,blue:,alpha:) 在 Swift 4 中被弃用,我该如何使用渐变色?

How do I use gradient color if init(colorLiteralRed:,green:,blue:,alpha:) is deprecated in Swift 4?

推荐答案

init(colorLiteralRed:green:blue:alpha:) 旨在与由开发工具管理的颜色文字一起使用.

init(colorLiteralRed:green:blue:alpha:) is intended to be used with Color Literals which are managed by development tools.

你为什么不使用普通的init(red:green:blue:alpha:)?

Why don't you use 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()

(像 234.0/255.0 这样的写法不是强制性的,在 Swift 的上下文中.但它阻止 Swift 编译器将 234/255 解释为整数除法其他一些上下文.)

(Writing like 234.0/255.0 is not mandatory, in the context as above in Swift. But it prevents Swift compiler to interpret 234/255 as an integer division in some other contexts.)

这篇关于init(colorLiteralRed:,green:,blue:,alpha:) 在 Swift 4 中已弃用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆