2012-03-27 10 views
1

Als erstes möchte ich mich bei allen bedanken, die mir auf der Dynamically Generate UITableViews geholfen haben. Aber ich muss die Frage ein wenig auf ein neues Problem ausweiten, das ich gefunden habe. Während ich jetzt die Tabelle dynamisch erzeugen kann, muss ich wissen, wie man die Höhe der Tabellen dynamisch basierend auf der Anzahl der Zeilen setzt. Wenn Sie den obigen Thread lesen, muss ich grundsätzlich x Tabellen generieren, basierend auf wie viele Richtlinien der Benutzer hat, aber diese Tabelle kann x Menge an Zeilen haben nicht immer oder alle die gleiche Menge. Wie kann ich das tun, damit die nächste Tabelle an dem richtigen Teil der Ansicht nach der Tabelle beginnt, die sich darüber befindet? Damit sie sich nicht überschneiden?Dynamisch die Höhe und Position von dynamisch generierten UITableviews festlegen?

Bitte, wenn ich das falsch gefragt habe und Sie nicht verstehen, fragen Sie bitte.

Antwort

5

Nun, wenn Sie die Anzahl der Zeilen in jeder Tabelle zur Verfügung haben, dann ist es nicht zu schwierig.

Ich nehme an, Sie haben Ihre Tabellenansichten alle in einem Array für die einfache Verwaltung.

Sie müssten einfach das Array durchlaufen, während Sie einen Zähler für die Position beibehalten und dann die Tabellenansichten basierend auf dem Zähler skalieren.

CGFloat currentYPosition = 0; 

for (UITableView *tableView in allTableViews) { 
    CGRect frame = tableView.frame; 

    CGFloat height = tableView.rowHeight * numberOfRowsInTableView; 

    frame.origin.y = currentYPosition; 
    frame.size.height = height; 

    tableView.frame = frame; 

    currentYPosition += height; 
} 

Für die Höhe variabel, können Sie alle weiteren Extras hinzufügen, die Sie (Tabellenansicht Header, Footer, etc.)

+2

ich in der Mitte gerade so etwas einzugeben war haben könnte. Solange er die Anzahl der Policies von seinem Web-Service abrufen und die TableViews entsprechend erstellen und in diesem Array speichern kann, sieht das gut aus – Justin

Verwandte Themen