У меня есть tabBarController с тремя viewController на нем.Когда viewController 1 выбран, и я делаю 90 градусов, я скрываю tabBar, и я должен добавить представление текущего представления к tabBarController, в противном случае на месте tabBar появляется пустое пространство.
Если сейчас я поверну iPhone вранее ориентацию (вертикальное нормальное положение) я удаляю из представления просмотра, но представление не отображается на контроллере представления, я полагаю, что должно быть показано исходное представление (то, которое было до вызова addubview), фактически, если я выбрал второй viewController ипозже я возвращаюсь к viewController 1. представление выглядит идеально.
Я не понимаю, почему это происходит, не могли бы вы мне помочь?
Обновление:
Я думаю, чтопроблема в том, что я добавляю представление поверх tabbarcontroller (self.view addSubview: vista_AS.view]) Мне нужно, чтобы сделать панель вкладок не видимой, и позже, когда я удаляю это представление, tabbarcontroller каким-то образом теряет ссылку на представление viewcontroller 0,Чего я не понимаю, так это того, почему, когда я переключаюсь на viewcontroller 1, а затем снова на 0, представление в порядке.Есть ли какой-нибудь способ перезагрузить viewcontroller 0 view ??
Обновление 2 : Включен авторский код из предложенного изменения ответа
Это мой код:
if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
self.tabBar.hidden = TRUE;
vista_AS = [delegate.tabBarController.viewControllers objectAtIndex:0];
vista_AS.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:vista_AS.view];
}
else {
if ( (self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight) )
{
[vista_AS.view removeFromSuperview];
self.tabBar.hidden = FALSE;
}