У меня реальная проблема с UITabBarController.
Результат, которого я добиваюсь, следующий:
1) в портретном режиме простое приложение на панели вкладок (с панелями навигации) ничего особенного.
2) в ландшафтном режиме я хочу использовать свой собственный UIViewController, полностью игнорируя UITabBar.
Подход (я пробовал много вариантов), который я пробовал последним, который я не понимаю, почему «не работает», заключается в следующем:
У меня есть пользовательский UIViewController (назовите это AA), который должен управлять «всем».
Этот контроллер добавляется в окно при запуске приложения и в его loadView создает два контроллера: UITabBarController (Call this TBC) и UILandscapeController (Call this LSC). затем я добавляю представление tabbarcontroller как подпредставление представления AA.
теперь в классе AA я переопределяю didRotate blah или willRotate blah и в основном хочу переключаться между двумя представлениями, под этим я имею в виду что-то вроде: (псевдокод):
переходя от портрета к пейзажу:
[TBC.view removeFromSuperView];
[AA.view addSubview:LSC.view];
и при возврате в портрет поменяйте его.
[LSC.view removeFromSuperView];
[AA.view addSubview:TBC.view];
Количество проблем, с которыми я сталкиваюсь (ну, он просто неправильно вращается, создавая действительно испорченный интерфейс), является чем-то совершенно необъяснимым. Кажется, что представление tabbarcontroller совсем не «нравится», чтобы быть в иерархии стандартного представления, а скорее оно хочет быть прикрепленным непосредственно к экрану.
Интересно, каков наилучший подход к достижению моей цели и почему панель вкладок не любит быть подпредставлением представления,
Любые подсказки в основном приветствуются.
-t