在某些时候我需要一个tabBar控制器而不是导航控制器。为此,我发布了导航控制器并在窗口中添加了一个标签栏。
是否从窗口层次结构中删除了UINavigationcontroller?
答案 0 :(得分:3)
我知道您想要从导航控制器切换到TabBar控制器并返回,但您担心一旦删除,您将无法取回它。
显而易见的解决方案不是删除它们,而是隐藏它们。以下是TabBar控制器的示例,它只是将y点从431设置为480,因此它会离开视图并返回。
- (void) hidetabbar:(BOOL)hiddenTabBar {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in self.uiTabBarController.view.subviews){
if([view isKindOfClass:[UITabBar class]]) {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
} else {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
[UIView commitAnimations];
}
您可以对导航控制器执行完全相同的操作。