При отклонении представления иерархия представления подкачки нарушена
Я использую библиотеку с открытым исходным кодом SLPagingView ( https://github.com/StefanLage/SLPagingView/) для приложений, основанных на представлении подкачки, таких как Twitter или Tinder. С какой-то страницы я открываю подробный вид. Когда я вернусь, макет просмотра страниц нарушен.
DetailViewController.m
- (void)backButtonPressed {
[self dismissViewControllerAnimated:YES completion:nil];
}
На самом деле я заметил, что иерархия приложения нарушена как раз перед появлением DetailView.
SomePageViewController.m
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Perform segue to detailView
[self performSegueWithIdentifier:@"actionDetail" sender:nil];
/* Does not work with a modal view controller either
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main"bundle:nil];
DetailViewController *detailViewController =
(DetailViewController *)
[storyboard instantiateViewControllerWithIdentifier:@"detailcontroller_id"];
[self pushViewController:detailViewController animated:YES];*/
}
Я получил Presenting view controllers on detached view controllers is discouraged
предупреждение. Я пытался заменить self
от self.navigationController
или же self.parentViewController.navigationController
но оба не работают.
Кто-нибудь, использующий эту библиотеку, решает эту проблему или знает решение?
1 ответ
Исправлена. Я изменил библиотеку SLPagingView. добавлять [self addChildViewController:ctr]
в initWithNavBarControllers:
, initWithNavBarItem:
и другие методы жизненного цикла. Проверьте различия: https://www.diffchecker.com/cnlvslym