2017-02-28 40 views
0

我正在重新加载viewWillAppear中的表格。如果我滚动一张桌子,然后转到另一个屏幕并返回到同一屏幕,则表格的滚动位置会发生变化。为什么UITableview正在改变滚动位置,段数,行数,内容相同。UITableView偏移正在改变

+0

当您在'viewWillAppear'中重载tableView时,每当您看到该屏幕时,它都会被调用。而不是在'viewWillAppear'上重新加载,重新加载'viewDidLoad'。 –

+0

伙计们无论如何reloadData更改contentinset ,,, reloadData不是问题 –

+0

是什么问题?你的滚动是改变还是你的tableview数据改变了? –

回答

0

根据Apple doc,只要你的UI出现在屏幕上,viewWillAppear就会被调用。在这里你重新加载tableview,使tableview达到它的初始值。

0

您可以根据您的要求重新加载tableView。

  1. 如果要重装你走到那屏幕上每次新的数据,那么你可以使用viewWillAppear

    func viewWillAppear()

  2. 如果你想一次你的数据获取,那么你可以添加在viewDidLoad提取方法,然后重装重装。

    func viewDidLoad()

-1

您可以[的tableView reloadData]后保存的tableView的contentOffset和viewWillAppear中,您可以设置的tableView的contentOffset。

+0

这是绝对滥用SO上的答案选项。建议和其他问题不应作为答案。但是重新加载tableView根本不会滚动它。 – Adeel