Как настроить цвета выбора списка SwiftUI и поведение фокусировки

#macos #swiftui #swiftui-list

Вопрос:

Следующий фрагмент SwiftUI содержит список, который можно выбрать.

 @State private var filesSelected = Set<File>()
@State private var files = [
    File(),
    File(),
    File(),
    File(),
]

List(files, id:.self, selection:$filesSelected) { file in
    Text("(file.hashValue)")
}
Text("Selected: (filesSelected.count)")
List {
}
 

выбранный список

Теперь, когда вы нажимаете на 2-й список, фокус меняется, и выделение становится затемненным.

затемненный выбор

При повторном нажатии на 1 — й список фокус меняется, но (хотя выделение все еще активно) выделение больше не отображается.

введите описание изображения здесь

При добавлении в выбор (cmd щелчок) выбор обновляется, и полный выбор отображается снова.

щелчок cmd показывает выбор

Это приводит к нескольким вопросам:

  1. Как можно настроить цвета выделения и затемненной коллекции?
  2. Почему выделение не отображается при повторном получении фокуса?
  3. Разве не так должна использоваться часть выбора API?

Пожалуйста, обратите внимание, что (на данном этапе) целью является macOS 10 (не macOS 11 или iOS).

Комментарии:

1. Похоже на ошибку, о которой следует сообщить.