Возникли проблемы с настройкой цвета фона просмотра в виде списка -SwiftUI

Я хочу установить для фона просмотра зеленый цвет. У меня есть представление списка, и это нормально, но основное представление должно быть зеленым - см. Изображение. Я знаю, что мне чего-то не хватает, но с SwiftUI вы иногда не знаете, является ли это ошибкой или просто как это должно работать. Я был бы признателен за любые идеи, которые сработали для других. Я прикрепил свой код и использую Xcode версии 11.5 (11E608c).

Вот код:

var body: some View {
     ZStack() {
          Color(red: 95.0/255.0, green: 122.0/255.0, blue: 128.0/255)
               .edgesIgnoringSafeArea(.all)

          Text("")
          List {
              Group {
                  Text("Price: ")
                  Text("Down: ")
                  Text("APR: ")
                  Text("Term: ")
                  Text("Tax: ")
                  Text("Rebate: ")
              }.listRowBackground(Color(red: 95.0/255.0, green: 122.0/255.0, blue: 128.0/255))

              Group {
                  Text("Add On: ")
                  Text("Fees: ")
                  Text("Trade Value: ")
                  Text("Total Interest: ")
                  Text("Payment: ")
              }.listRowBackground(Color(red: 95.0/255.0, green: 122.0/255.0, blue: 128.0/255))
          }
      }
   }

1 ответ

Решение

К сожалению swiftui не поддерживает это, однако, List это просто uitableview под капотом, чтобы вы могли просто изменить UITableView свойства.

struct Stackru1: View {
   // you need to modify the UItableview in the initializer
   init() {
        UITableView.appearance().backgroundColor = .yellow       // Change background color
        UITableViewCell.appearance().backgroundColor = .green    // Change each cell's background color
   }

    var body: some View {
       // your code goes here
    }
}

Важно отметить, что это изменит все List экземпляров в этом представлении, поэтому, если у вас есть несколько списков, все они будут одного цвета.

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

Другие вопросы по тегам