Ios 将背景设置为图像,并使顶部视图透明
第一次使用SwiftUI时,如何使imageForBackground成为我的背景和其他所有内容的透明Ios 将背景设置为图像,并使顶部视图透明,ios,swift,swiftui,Ios,Swift,Swiftui,第一次使用SwiftUI时,如何使imageForBackground成为我的背景和其他所有内容的透明 var body: some View { NavigationView { List(0..<5) { index in NavigationLink(destination: Text("\(index)")) { Image(systemName: "photo") VS
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"))
}
在SwiftUI中,有一个名为“不透明度”的特定修改器,可用于更改任何颜色的alpha级别并使其透明 例如,在您的图像案例中
Image("myImage").opacity(0.8)
“不透明”值越低,照片越透明
在你的特殊情况下
.background(Image("imageForBackground").opacity(0.2))
你可以用同样的颜色
Color(red: 1.0, green: 0, blue: 1.0, opacity: 0.2)
希望我能有所帮助我无法使用列表视图显示背景图像,但使用了不同的方法 通过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)
}
}
这不是我的意思。列表和导航链接的颜色为白色。如果我将它们设置为“.backgroundImageForBackground.opacity0.2”,那么相同的图像将被设置为三次不同的视图。如何使列表和NavigationLink背景透明,以便在整个视图中看到一幅图像。