В моем приложении у меня есть UIViewControllers A, B, C, D. Что я могу сделать это пройти от А до В до С до D. Теперь стек читается как A, B, C, DiOS - вложенная анимация push может привести к поврежденной панели навигации
я удалить C и D, которые 2 верхних элементов в стеке, используя
[self.navigationController popToViewController:BViewController animated:NO];
Когда я NSLog сейчас, у меня есть A, B в стеке. Теперь, когда я пытаюсь перейти на C, я получаю «Вложенная анимация push может привести к поврежденной панели навигации». Я озадачен, почему это происходит. Кто-нибудь может помочь мне в решении этой проблемы. Спасибо за ваше время
EDIT От BI перейти к C, используя код ниже
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [storybord instantiateViewControllerWithIdentifier:@"C"];
[self.navigationController pushViewController:viewController animated:YES];
После выполнения этого кода, есть асинхронный код, где мы помещаем в D
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [storybord instantiateViewControllerWithIdentifier:@"D"];
[self.navigationController pushViewController:viewController animated:YES];
Стек теперь читает A, B, C, D. Когда я поп, проблема возникает
Асинхронный код
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (error) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:@"messagehomescreen" forKey:@"lastscreenstatus"];
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [storybord instantiateViewControllerWithIdentifier:@"D"];
[self.navigationController pushViewController:viewController animated:YES];
}
}];
Вы используете правильную вещь, чтобы вернуться к контроллеру B (насколько я могу судить). Можете ли вы показать свой код, где вы нажимаете от B до C, пожалуйста. – Fogmeister
Хм ... что вы имеете в виду асинхронный? Пожалуйста, покажите весь код асинхронного нажатия. – Fogmeister
@Fogmeister вы правы, я редактировал код для использования popToViewController анимированный. – suhit