Многостолбцовые таблицы в MacOS с использованием SwiftUI

12

Я немного экспериментировал с SWiftUI и, похоже, не могу найти никакой информации о том, как использовать SWiftUI для создания многостолбцового TableView, как в NSTableView. Все примеры, которые мне удалось найти, показывают один столбец данных. В документации Apple даже указывается, что структура списка SwiftUI предназначена для отображения столбцов строк данных в одном столбце. Это довольно фундаментальная структура данных для приложений на MacOS, но нигде не упоминается об этом!

Может кто-то пролить свет на это? Я предполагаю, что это просто еще не готово, но все же ...

Питер
источник
А как насчет замены и изменения размера столбцов, заголовков, сортировки строк, нажав на кнопку сортировки в заголовках и т. Д. Табличные представления MacOS намного сложнее, чем простой список.
Питер
1
Почему этот вопрос был отвергнут? SwiftUI для macOS ужасен ... все делают уроки для iOS!
Lupurus
Я думаю, что на данный момент все еще необходимо использовать NSViewRepresentable. У вас есть какая-нибудь новая информация?
Lupurus
1
Нет, никакой новой информации. И вы правы насчет отсутствия примеров для MacOS - их практически нет.
Питер
Вы узнали, как использовать NSTableViewв SwiftUI?
Lupurus

Ответы:

1

Вы можете создать HStack, а затем иметь разделитель между двумя VStacks, в который вы поместите свои различные столбцы данных. Это будет выглядеть примерно так:

List {
 HStack{
   VStack{
    //Column 1 Data
  }
   }
  Divider()
   VStack{
     //Column 2 Data
   }
}

А затем просто повторите это для скольких столбцов данных необходимо.

Бен О
источник
Ну да, но это выглядело бы и чувствовало себя довольно взломанным вместе. Никаких заголовков столбцов или замены столбцов, сортировки и т. Д. Лучше использовать реальный в настоящее время и надеяться, что что-то лучшее будет доступно после WWDC в этом году. Я был более удивлен полным отсутствием даже упоминания об этом - довольно хорошо где-нибудь на самом деле.
Петр