UITableview прокручивает верхнюю часть позиции указателя при переходе на другую страницу - PullRequest
0 голосов
/ 15 мая 2018

У меня есть UITableView, если я перехожу на другой экран и когда я возвращаюсь к экрану UITableView, прокрутка автоматически останавливается на 1-й позиции указателя, как я могу ее преодолеть.

Спасибо.

Ответы [ 4 ]

0 голосов
/ 15 мая 2018

Самое простое решение - закончить выборку данных и вызов метода reloadData из UITableView в viewDidLoad метод вашего UIViewController.

Поэтому, когда вы переходите к другой сцене, ваш предыдущий экраностанется, как есть, потому что viewDidLoad вызывается только один раз, когда UIViewController инициализируется.

0 голосов
/ 15 мая 2018

Ваш вопрос и описание противоречивы: либо вы хотите, чтобы табличное представление оставалось на той же позиции, когда пользователь возвращается на страницу, либо вы хотите, чтобы табличное представление прокрутилось вверх. Если вы выберете первый вариант, то это решение может вам помочь, для второго варианта вы обратитесь к ответу PPL.

Сохраните смещение содержимого просмотра таблицы перед тем, как перейти на другую страницу.

-(void)viewWillDisappear:(BOOL)animated {
  [super viewWillDisappear:animated];
  tableViewContentOffset = self.tableView.contentOffset;
 }

и снова установить смещение представления таблицы в viewWillAppear

 -(void)viewWillAppear:(BOOL)animated {
  [super viewWillAppear:animated];
  [self.tableView setContentOffset:tableViewContentOffset];
 }
0 голосов
/ 15 мая 2018

для цели c

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:self.sectionToShow];
[cont.tableview scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO];
0 голосов
/ 15 мая 2018

Переопределить viewWillAppear метод, как показано ниже, и перейти к первому IndexPath,

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    tblList.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
}

Для Objective-C,

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [tblList scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...