Попробуйте этот обходной путь: если вы не анимируете переключение между контроллерами представления, оно должно работать нормально.
Идея состоит в том, чтобы увеличить размер представления контроллера панели вкладок, чтобы панель вкладок (которая находится в нижней части представления) выходила за пределы экрана и восстанавливала размер представления при скрытии вида.
В вашем контроллере представления, который должен скрывать панель вкладок, определите следующие методы:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
CGRect r = self.tabBarController.view.frame;
r.size.height +=self.tabBarController.tabbar.frame.size.height;
self.tabBarController.view.frame = r;
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
self.tabBarController.view.frame = CGRectMake(0, 0, 320, 480); //for iPhone portrait
}
Вы должны убедиться, что в вашем приложении контроллер панели вкладок делегата и оконные выходы определены и правильно связаны с XIB
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;