在UIKit创建与α值的颜色有不同的方式,例如:
UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)
Run Code Online (Sandbox Code Playgroud)
但这种方法不适用于对应类Color的SwiftUI。
我可以使用什么?
kon*_*iki 15
颜色初始值设定项有一个 opacity 参数:
Color(red: 1.0, green: 0, blue: 1.0, opacity: 0.2)
Run Code Online (Sandbox Code Playgroud)
cha*_*l-f 13
看来现在可以使用该.opacity方法并仍然返回 aColor而不是 a View:
func opacity(_ opacity: Double) -> Color
Run Code Online (Sandbox Code Playgroud)
color.opacity(0.5)
Run Code Online (Sandbox Code Playgroud)
Jua*_*dez 11
这里的几个答案都指向.opacity()View的方法。这涵盖了最常见的用例,但也许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))
Run Code Online (Sandbox Code Playgroud)
将不透明度修改器应用于任何 SwiftUI 视图,例如:
RoundedRectangle(cornerRadius: 5)
.fill(Color.yellow)
.frame(width: 50, height: 50)
.opacity(0.5)
Run Code Online (Sandbox Code Playgroud)
其中SwiftUI有一个称为的特定修饰符opacity,可用于更改任何颜色的alpha等级
Text("Hello world").background(Color.black.opacity(0.8)) // Set the background color as partially transparent.
Run Code Online (Sandbox Code Playgroud)
另外,可以将相同的修改器应用于任何视图,以更改其alpha。
Image("myImage").opacity(0.8) //The image will be partially transparent
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |