在UIKit
中用Alpha值创建颜色有多种方法,例如:
UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)
但是该方法在Color
的相应类SwiftUI
上不可用。
我可以使用什么?
答案 0 :(得分:1)
在SwiftUI
中,有一个称为opacity
的特定修饰符,可用于更改任何颜色的alpha等级
Text("Hello world").background(Color.black.opacity(0.8)) // Set the background color as partially transparent.
此外,可以将同一修饰符应用于任何视图,以更改其Alpha。
Image("myImage").opacity(0.8) //The image will be partially transparent
答案 1 :(得分:1)
颜色初始值设定项具有不透明度参数:
Color(red: 1.0, green: 0, blue: 1.0, opacity: 0.2)
答案 2 :(得分:1)
将 opacity 修改器应用于任何SwiftUI视图,例如:
RoundedRectangle(cornerRadius: 5)
.fill(Color.yellow)
.frame(width: 50, height: 50)
.opacity(0.5)
答案 3 :(得分:1)
这里的几个答案都指向View的.opacity()
方法。这涵盖了最常见的用例,但是OP可能想知道的是如何创建具有透明度的Color
。
一种方法是使用Color
构造函数,该构造函数具有颜色空间,分量和不透明度,如下面的第一个示例所示。
如果您已经有了Color
并想要它的半透明版本,请像下面的第二个示例一样使用连接到UIColor
的桥
let transparentTeal = Color(.sRGB, red: 0.4, green: 1, blue: 0.1, opacity: 0.2)
let red = Color.red
let transparentRed = Color(UIColor(red).withAlphaComponent(0.3))