UINavigationController - ошибка поп-анимации

У меня проблемы с анимацией UINavigationController. У меня есть мастер-детальный вид. На вид одна кнопка, открывающая подробный вид. Детальный вид открывается правильно, с нормальной анимацией заголовка и с перемещением контента. Но когда я нажимаю кнопку "Назад", заголовок корректно анимируется, и содержание деталей исчезает мгновенно, а не анимируется. Вот ссылка на демонстрацию проблемы: https://www.youtube.com/watch?v=C4UApAhEhx8

Для открытия я использую стандарт

AboutViewController *aboutViewController = [[AboutViewController alloc]   initWithNibName:@"AboutViewController_iPhone" bundle:nil];
[self.navigationController pushViewController:aboutViewController animated:YES];

Я попытался открыть представление с кодом, а не с кнопкой "Назад", но есть та же проблема.

Ответ 1

Это происходит, если где-то в вашем коде вы принудительно вызываете один из viewWillAppear -компонов с YES или NO вместо того, чтобы разрешать iOS, или если вы не отвечаете на вызовы [super viewWillAppear:animated] с помощью viewDidAppear.

Ответ 2

У меня была та же проблема, и ответ Miha указал мне в правильном направлении. В моем случае у меня был пользовательский UITabBarController, в котором я делал некоторую обработку в viewDidAppear. Проблема была вызвана отсутствием [super viewDidAppear:animated]; в моем представленииDidAppear.

Ответ 3

Пожалуйста, используйте код для возврата к предыдущему окну:

[self.navigationController pushViewController animated: YES];

Я думаю, это поможет вам.

Ответ 4

У меня есть тот же самый вопрос, что и у вас, и моя проблема заключается в том, что я установил выбранный указатель на панели вкладок в режиме viewwillappear некоторого контроллера вида, что вызывает некоторую ошибку на панели навигации.

Поэтому я просто перемещаю код в viewdidappear, это исправляет ошибки.

Надеюсь, когда-нибудь вы это увидите, хотя вы, возможно, уже решите это. Поэтому надеюсь, что это поможет другим.

Ответ 5

Пожалуйста, используйте код для возврата к предыдущему окну:

[self.navigationController popViewController animated:YES];