Wie verändere ich die Höhe von UITableView dynamisch?

7

In meiner App möchte ich die Größe der Tabellenansicht ändern, wenn sie sich im Bearbeitungsmodus befindet oder nicht (um Platz für Bearbeitungssteuerelemente unterhalb der Tabellenansicht zu schaffen)

Wie soll das gemacht werden?

    
Boon 23.08.2009, 08:03
quelle

3 Antworten

13

Ich habe festgestellt, dass das Manipulieren der "bounds" -Eigenschaft zu unerwartetem Verhalten führen kann, wenn Sie eine schwebende Tabelle in einer anderen Ansicht haben. Manchmal dehnt sich der Tisch beim Erhöhen der Höhe nach oben aus, obwohl der Ursprung immer noch 0,0 ist.

Die Eigenschaft "frame" könnte effektiver sein:

%Vor%     
Lavamantis 24.11.2011 02:47
quelle
5

Sie müssen die Grenzen der Tabellenansicht festlegen:

%Vor%     
rein 23.08.2009 08:19
quelle
2

Sie können die tableView:willBeginEditingRowAtIndexPath: und tableView:didEndEditingRowAtIndexPath: des Delegaten für die Tabellenansicht implementieren, um herauszufinden, wann eine bestimmte Zeile (und damit die Tabelle) in den Bearbeitungsmodus bzw. aus dem Bearbeitungsmodus herausgeht.

Von dort aus können Sie den Wert der Eigenschaft frame.size.height der Tabellenansicht (optional in einem UIView-Animationsblock) entsprechend anpassen. Es kann auch hilfreich sein, die editing -Eigenschaft der Tabellenansicht als Ganzes innerhalb der Delegate-Methoden zu überprüfen, falls Sie mehrere Aufrufe der Delegate-Methode erhalten, bevor Sie Aufrufe an ihre komplementären Methoden erhalten.

Weitere Informationen:

Tim 23.08.2009 08:15
quelle

Tags und Links