Цвет фона навигации - PullRequest
       9

Цвет фона навигации

1 голос
/ 10 февраля 2020

Я пытаюсь установить цвет фона в моем списке SwiftUi, как для моего поста здесь: Цвет фона списка SwiftUI

Я нашел решение, вставив следующий код как init ( )

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

моя проблема сейчас ... как только я вставляю навигационную ссылку, цвет фона снова стал белым.

как установить цвет .clear для NavigationView? Я пытался .foregroundColor (.clear), но отмечал ...

что мне нужно, чтобы навигационная ссылка работала без белого фона .. как это Image with correct effect

но на самом деле это так:

Image wrong effect with NavigationLink active

struct ContentView: View {

    var dm : DataManager

    init(dmi: DataManager) {
        self.dm = dmi
        UITableView.appearance().backgroundColor = UIColor.clear
        UITableViewCell.appearance().backgroundColor = .clear

    }
    var body: some View {

        ZStack{
            RadialGradient(gradient: Gradient(colors: [.orange, .red]), center: .center, startRadius: 100, endRadius: 470).edgesIgnoringSafeArea(.all)
                .overlay(
                    // NavigationView{
                    List{
                        ForEach(dm.vector, id: \.self) {  item in
                            Text(String(item))
                        }

                    }
                    //                    }
            )
        }

    }
}

1 Ответ

1 голос
/ 10 февраля 2020

Это легко. Я не предлагаю вам сделать это, вам лучше следовать рекомендациям Apple UI Design

struct ContentView: View {

    init() {
        UITableView.appearance().backgroundColor = UIColor.clear
        UITableViewCell.appearance().backgroundColor = .clear

    }
    var body: some View {
        NavigationView {
            RadialGradient(gradient: Gradient(colors: [.orange, .red]), center: .center, startRadius: 100, endRadius: 470).edgesIgnoringSafeArea(.all)
                .overlay(
                    List{
                        Text("Alfa")
                        NavigationLink(destination: Text("LINKED")) {
                            Text("Label")
                        }

                    }.navigationBarTitle("Table")
            )
        }
    }
}

enter image description here

...