在我的应用程序选项卡栏控制器用于显示多个视图。我想在按下第一个标签栏项时隐藏标签栏。
但是,我不知道怎么做...... Plz帮助我做到这一点......
谢谢你, Renya
答案 0 :(得分:1)
您应该尝试使用标签栏控件委托协议中的两种方法:
– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController:
您可以通过在执行这些方法中调用tabBarController.controller.hidden = YES
来隐藏标签栏。
请注意,标签栏控制器有两个视图;标签栏和包含主要内容的另一个视图。我希望你也想要调整这个内容视图的大小:
//remove the tab bars and resize the main view to fill the screen
UITabBar *tabBar = tabBarController.tabBar;
tabBar.hidden = YES;
UIView *mainView;
for (UIView * possibleMainView in [self.view subviews])
{
if (![possibleMainView isKindOfClass:[UITabBar class]])
{
mainView = possibleMainView;
break;
}
}
CGRect mainViewFrame = mainView.frame;
mainViewFrame.size.height += tabBar.frame.size.height;
mainViewFrame.origin.y = 0;
mainView.frame = mainViewFrame;