Фоновое изображение вида навигации с представлением списка - PullRequest
0 голосов
/ 11 апреля 2020

Я хочу установить изображение в качестве фона списка, поэтому я использовал этот вопрос в качестве ссылки и побежал с ним. (Я использовал изображение вместо градиента)

Вот мой код

import SwiftUI

struct TestContentView: View {

    init() {
        UITableView.appearance().backgroundColor = .clear// Uses UIColor
    }

    var body: some View {
        NavigationView {
            Image("milkyway")
            .resizable()
            .frame(maxHeight: .infinity)
            .edgesIgnoringSafeArea(.all)

            .overlay(List {
                ForEach(1...10, id: \.self) { index in
                    NavigationLink( destination: DetailView()) {
                        ContentCell()
                    }
                    .frame(height: 100)
                    .listRowBackground(Color.clear) // Uses Color
                }
            }
            .navigationBarTitle("My List"))

        }
    }
}

struct ContentCell: View {
    var body: some View {
        GeometryReader { geometry in
            VStack {
                Text("An item to display.")
            }
            .frame(width: (geometry.size.width), height: geometry.size.height, alignment: .center)
            .background(Color.clear)// Working
        }
    }
}

struct DetailView: View {
    var body: some View {
        VStack {
            Text ("At the detail view")
        }
        .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
        .background(Color.clear)// Working
        .edgesIgnoringSafeArea(.all)
    }
}

struct TestContentView_Previews: PreviewProvider {
    static var previews: some View {
        TestContentView()
    }
}

Казалось, он работает нормально. Однако, как вы можете видеть из этой картинки , содержимое перекрывается с большим заголовком. РЕДАКТИРОВАТЬ: (Если вы прокрутите этот экран, большой заголовок и содержимое будут перекрываться.)

Как это может работать?

...