第一次使用SwiftUI,如何使imageForBackground背景和其他所有内容透明?
var body: some View {
NavigationView {
List(0..<5) { index in
NavigationLink(destination: Text("\(index)")) {
Image(systemName: "photo")
VStack {
Text("\(index)")
}
}
}
.navigationBarTitle(Text("Hello World"), displayMode: .large)
}
.padding()
.frame(width: nil)
.background(Image("imageForBackground"))
}
答案 0 :(得分:1)
我无法使用“列表”视图显示背景图像,但是使用了另一种方法 使用ScrollView和ForEach可以实现我认为想要的功能。
var body: some View {
NavigationView {
ScrollView {
VStack {
ForEach(0..<10, id: \.self) { index in
NavigationLink(destination: Text("\(index)")) {
Image(systemName: "photo")
Text("\(index)")
Spacer()
}.padding(10)
}
}
}.background(Image(systemName: "globe") // Image("imageForBackground")
.resizable()
.scaledToFit()
.foregroundColor(.green))
.navigationBarTitle(Text("Hello World"), displayMode: .large)
}
}
答案 1 :(得分:0)
在SwiftUI中,有一个特定的修饰符称为opacity,可用于更改任何颜色的alpha等级并使之透明。
例如在您的图片盒中
Image("myImage").opacity(0.8)
“透明”值越低,照片将变得越透明。
根据您的具体情况
.background(Image("imageForBackground").opacity(0.2))
您可以使用相同的颜色
Color(red: 1.0, green: 0, blue: 1.0, opacity: 0.2)
希望我有帮助