如何在 Swift 中为资产颜色设置 alpha
How to set alpha for an Assets Color in Swift
我只是想知道如何更改我拥有的资源颜色的不透明度 (alpha)。当我尝试此 UIColor(named: "something", alpha: 0.4)
时,Xcode 抱怨:Extra argument 'alpha' in call
.
有什么方法可以通过编程方式修改资产颜色的不透明度吗?
您可以从这里修改资产颜色
Select 该特定资产颜色和
向左或向右拖动不透明度指示器或直接设置一些值
使用此扩展从 UIColor 获取 rgb 值
extension UIColor {
var rgba: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
getRed(&red, green: &green, blue: &blue, alpha: &alpha)
return (red, green, blue, alpha)
}
}
然后你可以创建一个新的颜色
let assetColor = UIColor(named: "something")
let (r,g,b,_) = assetColor.rgba
let newColor = UIColor(red:r, green:g, blue:b, alpha: 0.4)
您可以为 UIColor
添加此扩展程序并且易于使用。
extension UIColor {
convenience init?(named: String, alpha: CGFloat) {
if let rgbComponents = UIColor(named: named)?.cgColor.components {
self.init(red: rgbComponents[0], green: rgbComponents[1], blue: rgbComponents[2], alpha: alpha)
} else {
self.init(named: named)
}
}
}
用法:
let colorWithAlpha = UIColor(named: "Assets Color", alpha: 0.5)
您可以在分配颜色时设置颜色 Alpha 分量,如下所示:
button.backgroundColor = .black.withAlphaComponent(0.5)
UIColor
,如 Jasur S. 所述,具有 withAlphaComponent(_:)
.
它可以与任何 UIColor
对象一起使用来修改它的 alpha
:
let color = UIColor(named: "something")?.withAlphaComponent(0.5)
创建自定义扩展以覆盖现有功能是一个有争议的好事。
我只是想知道如何更改我拥有的资源颜色的不透明度 (alpha)。当我尝试此 UIColor(named: "something", alpha: 0.4)
时,Xcode 抱怨:Extra argument 'alpha' in call
.
有什么方法可以通过编程方式修改资产颜色的不透明度吗?
您可以从这里修改资产颜色 Select 该特定资产颜色和 向左或向右拖动不透明度指示器或直接设置一些值
使用此扩展从 UIColor 获取 rgb 值
extension UIColor {
var rgba: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
getRed(&red, green: &green, blue: &blue, alpha: &alpha)
return (red, green, blue, alpha)
}
}
然后你可以创建一个新的颜色
let assetColor = UIColor(named: "something")
let (r,g,b,_) = assetColor.rgba
let newColor = UIColor(red:r, green:g, blue:b, alpha: 0.4)
您可以为 UIColor
添加此扩展程序并且易于使用。
extension UIColor {
convenience init?(named: String, alpha: CGFloat) {
if let rgbComponents = UIColor(named: named)?.cgColor.components {
self.init(red: rgbComponents[0], green: rgbComponents[1], blue: rgbComponents[2], alpha: alpha)
} else {
self.init(named: named)
}
}
}
用法:
let colorWithAlpha = UIColor(named: "Assets Color", alpha: 0.5)
您可以在分配颜色时设置颜色 Alpha 分量,如下所示:
button.backgroundColor = .black.withAlphaComponent(0.5)
UIColor
,如 Jasur S. 所述,具有 withAlphaComponent(_:)
.
它可以与任何 UIColor
对象一起使用来修改它的 alpha
:
let color = UIColor(named: "something")?.withAlphaComponent(0.5)
创建自定义扩展以覆盖现有功能是一个有争议的好事。