📅  最后修改于: 2023-12-03 15:08:27.228000             🧑  作者: Mango
如果您正在使用 SwiftUI 构建 iOS 应用程序,并且希望使视图变暗,可以使用 .overlay()
修饰符和 Color
对象。
struct DarkenedView: View {
var body: some View {
Text("Hello, World!")
.padding()
.background(Color.white)
.overlay(Color.black.opacity(0.3))
}
}
在上述代码中,我们首先创建一个 Text
视图,然后使用 .padding()
修饰符添加一些填充,并使用 .background()
修饰符将其背景颜色设置为白色。接下来,我们使用 .overlay()
修饰符将一个不透明度为 0.3
的黑色 Color
对象添加到视图的顶部。该 overlay()
修饰符可用于在视图上方添加另一个视图,从而创建一种遮罩效果,这种效果可以通过使用不同的 Color
对象来实现。
您还可以使用 LinearGradient
对象将整个视图变暗。
struct DarkenedView: View {
var body: some View {
LinearGradient(gradient: Gradient(colors: [Color.black.opacity(0.5), Color.clear]), startPoint: .top, endPoint: .bottom)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.white)
}
}
在上面的代码中,我们首先创建一个 LinearGradient
对象,该对象包含两种颜色:不透明度为 0.5
的黑色和透明的颜色。然后,我们使用 .frame()
修饰符将其大小设置为与主视图相同,并使用 .background()
修饰符将其背景颜色设置为白色。这使我们的渐变对象变为主视图的背景,并且由于渐变对象中的黑色具有不透明度,因此它会将整个视图变暗。
希望这可以帮助您了解如何使用 SwiftUI 将视图变暗。