Навигация UINavigationController складывает проблемы в альбомном режиме

У меня есть приложение для iPhone, которое я в настоящее время преобразовываю в универсальный двоичный файл для работы с iPad. Я успешно реализовал все, в чем я нуждаюсь с точки зрения расположения так, чтобы полная альбомная функциональность теперь поддерживалась в моем приложении (ранее, я, прежде всего, использовал режим портрета для отображения содержания).

Но, у меня есть одна странная проблема, и она ТОЛЬКО происходит в альбомном режиме: когда я продвигаю контроллер представления на стек, требуется два касания на кнопке "Назад" для возврата к предыдущему контроллеру представления! Первое касание показывает пустое представление, но с тем же именем на левой стороне назад кнопка навигации, второе касание забирает контроллер к предыдущему представлению как оно, должен.

У меня нет iPad для тестирования, таким образом, я полагаюсь на средство моделирования. Проблема не обнаруживается на iPhone и не обнаруживается, если Вы вращаетесь назад к режиму портрета.

Мое приложение состоит из tabbarcontroller с контроллерами навигации, загруженными для ее vc's:

//application delegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
//....
WebHelpViewController *vc8 = [[WebHelpViewController alloc] init];
UINavigationController *nv8 = [[UINavigationController alloc] initWithRootViewController:vc8];

[self.tabBarController setViewControllers:[NSArray arrayWithObjects:nv1,nv2,nv3,nv4,nv5,nv6,nv7,nv8,nil]];

Для реализации альбомной возможности UITabBarController переопределяется для самовращений при необходимости:

//CustomTabBarController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return [[(UINavigationController *)self.selectedViewController topViewController] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

... хорошо работает. Я перешел в новые представления с помощью этого метода

SomeViewController *vc = [[SomeViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
[vc release];

Действительно ли это - только ошибка моделирования? Как я решаю эту проблему?

11
задан Peter Mortensen 15 November 2012 в 19:21
поделиться