Wielokolumnowe widoki tabel w systemie MacOS za pomocą SwiftUI


12

Eksperymentowałem trochę z SWiftUI i wydaje się, że nie mogę znaleźć żadnych informacji na temat używania SWiftUI do tworzenia wielokolumnowego TableView, jak w NSTableView. Wszystkie przykłady, które udało mi się znaleźć, pokazują jedną kolumnę danych. Dokumentacja w Apple określa nawet, że struktura listy SwiftUI służy do wyświetlania wierszy danych w jednej kolumnie. Jest to dość podstawowa struktura danych dla aplikacji na MacOS, ale wydaje się, że nigdzie nie ma o niej wzmianki!

Czy ktoś może rzucić na to trochę światła? Zakładam, że nie jest jeszcze gotowy, ale nadal…


Co z zamianą kolumn i zmianą rozmiaru, nagłówkami, sortowaniem wierszy poprzez kliknięcie przycisku sortowania w nagłówkach itp. Widoki tabel w systemie MacOS są znacznie bardziej skomplikowane niż zwykła lista.
Peter

1
Dlaczego to pytanie zostało odrzucone? SwiftUI dla macOS jest okropny ... wszyscy robią tutoriale dla iOS!
Lupurus,

Myślę, że w tej chwili nadal trzeba go używać NSViewRepresentable. Czy masz jakieś nowe informacje?
Lupurus,

1
Nie, żadnych nowych informacji. I masz rację co do braku przykładów dla MacOS - prawie nie istnieje.
Peter

Czy wiesz, jak korzystać z NSTableViewSwiftUI?
Lupurus

Odpowiedzi:


1

Możesz utworzyć HStack, a następnie mieć dzielnik między dwoma VStackami, w którym umieścisz różne kolumny danych. Wyglądałoby to tak:

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

A następnie powtórz to, ponieważ potrzeba wielu kolumn danych.


Cóż, tak, ale wyglądałoby to na całkiem zhakowane razem. Żadnych nagłówków kolumn ani ich zamiany, sortowania itp. Lepiej na razie użyć prawdziwego i mieć nadzieję, że po WWDC w tym roku będzie coś lepszego. Byłem bardziej zaskoczony całkowitym brakiem nawet wzmianki o tym - właściwie całkiem dobrze gdziekolwiek.
Peter
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.