【问题标题】:Make Background an Image and views on top transparent使背景成为图像和顶部透明的视图
【发布时间】:2020-03-19 09:30:57
【问题描述】:

第一次使用 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"))
}

【问题讨论】:

    标签: ios swift swiftui


    【解决方案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)
        }
    }
    

    【讨论】:

      【解决方案2】:

      在 SwiftUI 中,有一个名为 opacity 的特定修饰符,可用于更改任何颜色的 alpha 级别并使其透明。

      例如在您的图像案例中

      Image("myImage").opacity(0.8) 
      

      'opacty' 值越低,照片越透明。

      根据您的具体情况

       .background(Image("imageForBackground").opacity(0.2))
      

      你可以使用相同的颜色

      Color(red: 1.0, green: 0, blue: 1.0, opacity: 0.2)
      

      希望对你有所帮助

      【讨论】:

      • 这不是我的意思。 List 和 NavigationLink 的颜色为白色。如果我将它们设置为 ''' .background(Image("imageForBackground").opacity(0.2))''' 那么相同的图像将被设置为不同的视图(断断续续)三次。如何使 List 和 NavigationLink 背景透明,以便在整个视图中看到 1 张图像。
      猜你喜欢
      • 1970-01-01
      • 2019-09-02
      • 2017-10-13
      • 1970-01-01
      • 2017-06-18
      • 2016-12-08
      • 1970-01-01
      • 2013-03-19
      • 2013-11-15
      相关资源
      最近更新 更多