Как получить последнюю позицию прокрутки UITableView перед показом следующего UIViewController? - PullRequest
0 голосов
/ 03 января 2019

У меня вопрос по поводу UITableView.

Поскольку я хочу сохранить UITableView последнюю позицию в моем userdefault перед отображением следующего UIViewController.

И когда я возвращаюсь на homePage, я могу прочитать значение по умолчанию, чтобы автоматически перейти к моей позиции сохранения.

Почему я задаю этот вопрос, потому что когда я вернусь на homePage, я обновлю свой viewcontroller, и раскладка изменится, поэтому я не могу точно определить положение перед показом.

Есть идеи для меня? Спасибо

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Используя contentOffset.

Сохраните его при выходе:

float savedVerticalContentOffset = tableView.contentOffset.y;

, а затем при возврате и обновлении просто позвоните:

[tableView setContentOffset:CGPointMake(0, savedVerticalContentOffset)];
0 голосов
/ 03 января 2019

Вы можете получить индексный путь первой видимой ячейки с помощью indexPathsForVisibleRows и сохранить его. Затем, когда вы снова показываете таблицу, вы можете использовать scrollToRowAtIndexPath:atScrollPosition:animated:, чтобы убедиться, что ячейка видна.

...