2017-02-28 2 views
0

Ich lade eine Tabelle in viewWillAppear. Wenn ich eine Tabelle scrolle und dann zu einem anderen Bildschirm gehe und zum selben Bildschirm zurückkomme, wird die Scroll-Position des Tisches geändert. Warum ändert UITableview Scroll-Position, Anzahl der Abschnitte, Anzahl der Zeilen, Inhalt ist gleich.UITableView Offset wird geändert

+0

Wenn Sie tableView in 'viewWillAppear' neu laden, wird es jedes Mal aufgerufen, wenn Sie diesen Bildschirm sehen. Laden Sie 'viewDidLoad' nicht erneut auf' viewWillAppear'. –

+0

Guys Keine Fragen reloadData ändern contentinset ,,, ReloadData kein Problem –

+0

Was ist das Problem? Entweder ändert sich dein Scrolling oder deine Tableview-Daten werden geändert ?? –

Antwort

0

Nach der Apple doc, wann immer Ihre Benutzeroberfläche auf dem Bildschirm erschien viewWillAppear wird aufgerufen. Und hier laden Sie die Tabellenansicht so neu, dass die Tabellenansicht auf ihren Anfangswert gebracht wird.

0

Sie können reload von tableView entsprechend Ihrer Anforderung setzen.

  1. Wenn Sie Ihre neuen Daten jedes Mal neu geladen werden soll Sie zu diesem Bildschirm kommen, dann können Sie viewWillAppear verwenden.

    func viewWillAppear()

  2. Wenn Sie nur neu geladen werden soll, sobald Ihre Daten geholt, dann können Sie Verfahren in viewDidLoad holen hinzufügen und dann neu zu laden.

    func viewDidLoad()

-1

Sie Content des Tableview und in viewWillAppear nach [Tableview reload] speichern können, können Sie die Content des Tableview eingestellt.

+0

Dies ist ein absoluter Missbrauch der Antwortoption auf SO. Anregungen und weitere Fragen sollten in Kommentaren nicht als Antwort gewertet werden. Das erneute Laden von TableView scrollt es jedoch überhaupt nicht. – Adeel

Verwandte Themen