Вы можете использовать этот код, чтобы показать и скрыть панель вкладок:
@implementation UITabBarController (Extras)
-(void)showTabBar:(BOOL)show {
UITabBar* tabBar = self.tabBar;
if (show != tabBar.hidden)
return;
UIView* subview = [self.view.subviews objectAtIndex:0];
CGRect frame = subview.frame;
frame.size.height += tabBar.frame.size.height * (show ? -1 : 1);
subview.frame = frame;
tabBar.hidden = !show;
}
Этот код работает, недавно был принят Apple в приложении, и (как категория) я нашел, что его легче использовать, чемдругие решения.
Если вы хотите скрыть tabBar, просто позвоните:
[self.tabBarController showTabBar:NO];
Аналогично, чтобы показать его снова, вызовите это сообщение с YES
в качестве параметра.
ПРИМЕЧАНИЕ: Каким-то образом я забыл, что уже просматривал этот код в какой-то момент в прошлом, и теперь я не уверен, кто первоначально ответил на него.Saurabh ответил на аналогичный вопрос .Код, предоставленный Saurabh, перебирает все представления в поисках isKindOfClass:[UITabBar class]
, тогда как я просто беру первое подпредставление - которое может быть хрупким перед лицом обновлений.