如何在 SwiftUI 中使背景半透明?

Mat*_*lte 8 ios swift swiftui

如何使导航栏上方的文本背景半透明,使其看起来像文本和导航栏是同一个对象?

VStack(spacing: 0) {
    Text("Test")
        .padding(.top, 9.5)
        .padding(.bottom, 8)
        .frame(minWidth: 0, maxWidth: .infinity)
        .background(Color.gray) // I used a custom color set in the screenshot
        .font(.footnote)
    NavigationView {
        List {
            Text("Name")
            Text("Name")
            Text("Name")
        } .listStyle(GroupedListStyle())

        .navigationBarTitle(Text(""), displayMode: .inline)
        .navigationBarBackButtonHidden(true)
        .navigationBarItems(
            leading:
            Button("Cancel") {
                // self.presentationMode.wrappedValue.dismiss()
            },
            trailing:
            Button("Done") {

            }.disabled(true)
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Dav*_*pin 14

SwiftUIColor有一个opacity()函数,它返回另一个Color具有给定不透明度的函数。不透明度为 1.0 将是相同的颜色,而不透明度为 0.0 将是完全透明的。

例如,如果您想让颜色介于完全不透明和完全透明之间,请更改:

Text("Test")
        .padding(.top, 9.5)
        .padding(.bottom, 8)
        .frame(minWidth: 0, maxWidth: .infinity)
        .background(Color.gray)
        .font(.footnote)
Run Code Online (Sandbox Code Playgroud)

到:

Text("Test")
        .padding(.top, 9.5)
        .padding(.bottom, 8)
        .frame(minWidth: 0, maxWidth: .infinity)
        .background(Color.gray.opacity(0.5)) //Here is where we use the opacity
        .font(.footnote)
Run Code Online (Sandbox Code Playgroud)

来源:https : //developer.apple.com/documentation/swiftui/color