Сделать фоновый рисунок и вид сверху прозрачным - PullRequest
0 голосов
/ 18 марта 2020

Используя 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"))
}

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Я не мог показать фоновое изображение, используя представление списка, но используя другой подход с 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)
    }
}
0 голосов
/ 19 марта 2020

В SwiftUI есть один специфицированный c модификатор, называемый непрозрачностью, который можно использовать для изменения альфа-уровня любых цветов и сделать его прозрачным.

, например, в случае с изображением

Image("myImage").opacity(0.8) 

Чем ниже значение 'opacty', тем прозрачнее будет фотография.

В вашем конкретном случае c

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

Вы можете использовать то же самое с цветами

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

Надеюсь, я был полезен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...