2016-09-20 4 views
1

Titel sagt alles. Ich möchte 2 ein Array von Arrays und jeder Index des Arrays Dies wird mehrere Arrays von ZeilenIst es möglich, mehrere Abschnitte in UItableView zu haben, das heißt: Abschnitt 1 hat zwei Abschnitte und diese zwei Abschnitte haben mehrere Abschnitte

hat angezeigt, wie es wie wenn man wie visuelle Sachen

Section 1: 
    Section 1 
     Section 1 
      Cell 
     Section 2 
      Cell 
    Section 2 
     Section 1 
      Cell 
     Section 2 
      Cell 
Section 2 
    Section 1 
     Section 1 
      Cell 
     Section 2 
      Cell 
    Section 2 
     Section 1 
      Cell 
     Section 2 
      Cell 
Section 3 
    Section 1 
     Section 1 
      Cell 
     Section 2 
      Cell 
    Section 2 
     Section 1 
      Cell 
     Section 2 
      Cell 
+0

IDTS ist möglich. –

Antwort

1

UITableView hat keine für diese eingebaute Unterstützung aussehen würde aber Sie könnten etwas selbst mit einigen benutzerdefinierten Headern und Zellen erstellen.

schaffen im Grunde ein Modell der Struktur zu unterstützen:

let model = [[[a, b],[c,d]],[[e,f],[g,h]]] 

Ihre numberOfSections Implementierung model.map{$0.count}.reduce(0, +)

Ihre numberOfRowInSection zurückkehren würde etwas tun, wie

let subSections = model[section] 
var topLevelRow = indexPath.row 
for subSection in subSections { 
    if topLevelRow < subSection.count { 
     print(subSection[topLevelRow]) 
     break 
    } else { 
     topLevelRow -= subSection.count 
    } 
} 

die gleiche Implementierung kann verwendet werden für die createCellAtIndexPath

Der letzte Teil wäre eine Kopfzeile für den Abschnitt, wenn der Abschnitt der obere Abschnitt (Unterabschnitt [0]) und ein anderer für wenn es nicht ist.

Es ist ein gutes Beispiel für Multi-Level-Tableview in diesem Artikel, wie man das macht: http://sapandiwakar.in/nested-sections-in-uitableview/

1

Ich glaube nicht, so seine leicht möglich, weil wir die Anzahl der Section-Tabelle definieren können func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { mit Methode.

Wir haben keine eingebaute Methode, um die Nummer des Abschnitts für den Abschnitt zu definieren.

Verwandte Themen