📜  如何使视图变暗 swiftui - Swift (1)

📅  最后修改于: 2023-12-03 15:08:27.228000             🧑  作者: Mango

如何使视图变暗 SwiftUI

如果您正在使用 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 将视图变暗。