Мой контроллер навигации требует двойного нажатия в iOS5? - PullRequest
1 голос
/ 02 ноября 2011

У меня есть контроллер навигации в раскадровке, в настоящее время с двумя экранами. 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). Надеюсь, это может быть что-то взломать, кто-нибудь знает?

1 Ответ

2 голосов
/ 03 ноября 2011

Я нашел свои IBActions, которые содержали:

SecondViewController *X = [self.storyboard instantiateViewControllerWithIdentifier:@"X"];
[self.navigationController pushViewController:X animated:NO];

на каждом из них заставляли представление удваиваться или что-то в этом роде.Когда я прокомментировал эти две строки в каждом IBAction, проблема исчезла.

Огромное спасибо @CodaFi за помощь в реализации возможностей, честно говоря, это решение не имеет смысла для меня, даже подумалЯ вижу, как это работает здесь.

...