My UITableView
необходимо прокрутить до самого верха после возврата к ViewController
при определенных обстоятельствах.
Приведенный ниже код работает нормально (я отредактировал его для простоты), но я надеюсь найти лучший способ без использования таймера задержки.Если я не использую таймер, UITableView
не прокручивается до самого верха, потому что ViewController еще не загружен (я думаю).
DetailController.m
- (void)popToViewController {
// pop back to ViewController.
[self.navigationController popViewControllerAnimated:YES];
// Calls ViewController method
[self.viewController method];
}
ViewController.m
- (void)method {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[self.tableView setContentOffset:CGPointZero animated:NO];
});
}
Я пытался использовать ViewDidAppear
в ViewController
, и он работает, но он вызывается все время, если я выталкиваю ViewController.Мне нужно только прокрутить UITableView
до конца при определенных обстоятельствах.
Редактировать: Я также пытался dispatch_async
, но он не работает постоянно.