Представление контроллера навигации нарушается при запуске контроллера модального представления (после обновления последней версии xcode / ios 5) - PullRequest
0 голосов
/ 17 октября 2011

Меня зовут Лука, и я испытываю проблему в своем приложении после обновления моего XCode для ios 5. Я действительно могу найти решение этой проблемы, поэтому я надеюсь, что кто-то может мне помочь.

Мое программное обеспечение - это приложение window-based, которое использует контроллер навигации и элемент панели инструментов. Контроллер навигации подключен в mainWindow.xib к свойству контроллера навигации делегата приложения (IBOutlet). Init контроллера навигации с корневым контроллером представления, который я называю «стартовым контроллером представления» (это делается в IB). У приложения есть строка состояния, видимая сверху. В моем заявлении делегат я делаю:

[application setStatusBarStyle:UIStatusBarStyleBlackOpaque];

 application.statusBarHidden = NO;

 self.window.rootViewController = navigationController;

[window makeKeyAndVisible];

[startingViewController onLaunchApp];

Как только приложение завершило загрузку, я пытаюсь представить другой вид, используя Modal View Controller. Модальный контроллер представления представлен в корневом контроллере представления (начальный контроллер представления), выполнив

[self presentModalViewController:'another view' animated:YES];

А вот и моя проблема. Как только я отклоняю модальный контроллер вида, контроллер навигации перемещается в самую верхнюю часть главного окна, вытягивая с собой корневой контроллер вида. Часть панели навигации находится за строкой состояния (20 пикселей), а остальные 20 пикселей пустого пространства остаются в нижней части корневого контроллера представления. Поэтому мой вид полностью запутался, и единственный способ исправить это - повернуть устройство в альбомной ориентации, а затем обратно в портретной ориентации. После этих операций весь стек представлений в порядке, и если модальный контроллер представления представлен и отклонен снова, все работает просто отлично. Другими словами, эта проблема возникает только при первом отключении контроллера модального вида.

Я протестировал приложение со всеми версиями симулятора, и все они работают правильно, за исключением последней версии 5.0.

Последние 6 часов я потратил на чтение документации, публикаций и попыток исправить приложение, но не повезло.

Я был бы очень признателен, если бы кто-нибудь мог мне помочь или дать мне подсказку.

Заранее большое спасибо.

1 Ответ

0 голосов
/ 22 марта 2012

Если вы не реализовали его таким образом, попробуйте отменить модальный контроллер вида от корневого контроллера вида .

...