Frage

Ich habe gerade den Code geerbt, der die Reihen einen UitableView mit dem Delegierten versteckt/zeigt heightForRowAtIndexPath Methode und Rückkehrhöhe 0 für "versteckte Zeilen".

Der Code funktioniert, aber ich habe besorgt, dass es mit unvorhergesehenen Komplikationen behaftet sein könnte. Kann jemand entweder meine Bedenken lindern oder mir gute Gründe geben, warum dies Probleme verursachen kann (ich konnte keine Probleme bei ersten Tests finden).

Die Tabelle ist insgesamt ziemlich klein <10 Zeilen und müsste auch ohne diese versteckte Zeilenlösung benutzerdefinierte Reihenhöhen erfordern.

War es hilfreich?

Lösung

Es wäre sauberer, die Zeilen zwischen zwei hinzuzufügen und zu entfernen beginUpdates und endUpdates Anrufe, aber ich verstehe nicht, warum diese Methode mit 0-Höhe nicht funktionieren sollte.

Wenn es keine UI-Artifakte gibt, heißt das (zB der Löschen Taste, die über die nächste Zelle überflutet wird).

Andere Tipps

Ich mache das Gleiche in dem Code, an dem ich gerade gearbeitet habe. Ich bin nicht zufrieden mit unterschiedlichem Verhalten für verschiedene Tabellenansichteinstellungen.
Die Alternative in meinem Fall ist komplexer (ein Modell, das sich an das anpasst, was sichtbar ist oder nicht).
Im Moment habe ich einen // Hack -Kommentar dazu gestellt und ein paar Besonderheiten dokumentiert.
Das habe ich gefunden (iOS 5.0 getestet):

  1. Set tableView.rowHeight = 1; Zero gibt eine Zelle mit Nullhöhe (wie von TableView: TableView HigheForrowatIndexPath zurückgegeben :) Eine Standardhöhe.
  2. Sie müssen einen Zellabscheider haben. Wenn keine ausgewählt ist, wird eine Standardhöhe Nullhöhenzeilen zugewiesen. Die Höhe von 1 ist im Trennzeichen enthalten.

Wenn Ihr Code anders funktioniert, wäre es interessant zu wissen, wie er eingerichtet ist.

Ich verwende diese Methode, um versteckte Zellhöhen auf 0 zu setzen. Sie funktioniert gut und bedeutet auch, dass ich die Einbeziehung neuer Zellen durch Erweiterung der Zellhöhe (z. B. Hinzufügen einer Datumspickerzelle wie die Kalender -App) animieren kann.

Ein paar Dinge, auf die ich in iOS 7.1 achten musste, sind, dass sehr zerquetter Text auch dann immer noch angezeigt wird, wenn eine Zellhöhe = 0 ist, also musste ich in diesem Fall den Zelltext entfernen. Außerdem habe ich die Größe des Separatorinsets der Zelle verändert, da dies ebenfalls erscheint.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top