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

20

我该如何使导航栏上方的文本背景半透明,以便看起来文本和导航栏是同一对象?

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)
        )
    }
}

输入图像描述


这个回答解决了你的问题吗?如何使用SwiftUI创建带有alpha值的颜色? - elight
1个回答

42

SwiftUI的Color有一个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)
至:
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)

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接