UITableView Blättern Inhalt, Größe falsch, nach Entlassung eine andere Ansicht
Also ich habe ein UITableViewController
die startet ein weiteres tableVC
ändert sich die Anzahl der Zellen, die für das original, wenn entlassen.
Nach Entlassung, trotz der Rückkehr der richtigen Zelle die Höhe (und die header-Höhe) sowie aktualisierte Anzahl der Zeilen (so dass das scrollen von Inhalten ist riesig), die scroll-view nur springt, wenn gescrollt werden. Beim Blick auf die contentSize
Eigenschaft des scrollen der Tabelle, die contentSize
ist falsch und ist das gleiche wie es vorher war.
Beim ersten laden der original tableVC
habe ich auch nicht das problem. Wenn ich eine große Anzahl von Zellen, die Tabelle zu scrollen, wie erwartet. Es ist nur nach der Entlassung der vorgestellten tableVC
dass ich in das problem. Eine Sache, die ich bin, die unsicher ist, Wann reloadData. Ich mache es wie folgt:
1. präsentiert tableVC
:
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]
2. im original tableVC:
-(void)viewDidAppear
{
//tablecell number manipulated
[table reloadData];
}
Das komische ist, wenn ich drehen, um die Landschaft und zurück zum portrait, der contentSize ist dann richtig eingestellt, und ich kann scrollen wieder.
- Kam gerade über diesem, ist
viewDidAppear
ein Tippfehler - habe Sie nicht kopiert den code korrekt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
Außerdem gibt es einen besonderen Grund, warum Sie nicht animieren?
Ich lösten dieses Problem, indem explizit ein Neuladen der Abschnitt und nicht durch den reloadData.
[Tabelle reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];
Hatte ich ein ähnliches Problem. Ich war die änderung der Anzahl der Zeilen und Abschnitte mit einer statischen tableviews, die in Reaktion auf eingegebene Daten in einem Kind-viewController, aber wenn der Inhalt aktualisiert wurde, die
contentSize
war es nicht, was zu scrollen Probleme.In meinem Fall scheint es ein bug in
reloadData
in iOS6 verhinderte, dass das tableView aus einer ordnungsgemäßen Berechnung der neuen Größe (dies funktionierte gut in iOS7). Ich löste dies durch den Aufruf der entsprechenden Einfügungen und Löschungen, die auf Zeilen und Abschnitten, wie hier beschrieben: UITableView nicht neu laden contentSize.