SwiftUI SystemColors для списков - PullRequest
       7

SwiftUI SystemColors для списков

0 голосов
/ 27 марта 2020

У меня есть список, в котором я хочу выделить выделенную строку.
Это прекрасно работает с:

struct ContentView: View {
    var body: some View {
      List {
        Line(text: "Line 1")
        Line(text: "Line 2")
        Line(text: "Line 3",selected: true)
        Line(text: "Line 4")
      }
    }
}

struct Line: View {
  var text :String
  var selected = false

  var body: some View {
    Text(text)
    .listRowBackground(selected ? Color.blue : Color.white)
    .foregroundColor(selected ? Color.white : Color.black)
    }
}

Однако при переключении в темный режим это выглядит некрасиво.
Конечно, я мог обнаружить темный режим и установить цвет явно, но я ищу способ установить цвет для «не выбранной» линии на стандартный передний план и цвет фона списка.
Как я могу получить эти «системные цвета»

1 Ответ

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

Простой способ получить доступ к системным цветам с помощью Color (UIColor), например:

  var body: some View {
    Text(text)
    .listRowBackground(Color(.systemBackground))
    .foregroundColor(Color(.label))
    }
...