У меня есть контроллер навигации в раскадровке, в настоящее время с двумя экранами. Screen1 содержит открывающий логотип и несколько кнопок, и я спрятал панель навигации вверху, используя:
[[self navigationController] setNavigationBarHidden:YES];
в viewDidLoad
и viewWillAppear:
(в viewWillAppear
у меня установлено анимированное значение: ДА, поэтому оно соскальзывает при возврате с других экранов).
Когда я иду на Screen2, у меня есть:
[[self navigationController] setNavigationBarHidden:NO animated:YES];
в первом контроллере вида viewWillDisappear
, и панель навигации хорошо скользит, когда этот вид достигает верхней части стека навигации.
Проблема в том, что когда я нажимаю назад, панель навигации анимируется с правой стороны экрана, но Screen2 остается там, открывая еще одну панель навигации внизу!
Затем я могу снова нажать, и экран 2 будет отключен, и главный экран вернется, но это не то поведение, которое я хочу передать любому пользователю, очевидно!
Кто-нибудь имел эту проблему раньше, или есть какие-либо вопросы о том, кто может быть виновником?
Редактировать: я только что обнаружил ошибку, появляющуюся при запуске симулятора iOS:
2011-11-02 19:29:13.548 TestHTML5[10261:f803] Unbalanced calls to begin/end appearance transitions for <LessonViewController: 0x6c5e960>.
Это происходит, когда я нажимаю кнопку, чтобы перейти ко второму виду (LessonViewController).
Надеюсь, это может быть что-то взломать, кто-нибудь знает?