开发!
我目前正在开发使用Tab Bar应用程序模板的应用程序。我想做什么 是模拟我的应用程序的第一个选项卡对应的起始页。
因此,当应用程序启动时,第一个选项卡被选中,UITabBar不应该可见。 在这个“startview”中,有多个按钮的作用与其他选项卡相同,例如我按下#2按钮,第二个标签视图被按下,UITabBar再次可见。
我的问题是我有办法隐藏栏,但子视图没有调整到全屏。
使用: [self.tabBarController.tabBar setHidden:YES];
我也试过用: self.hidesBottomBarWhenPushed = YES;
但它似乎没有效果,我不知道在我使用之后在哪里添加代码 模板。
任何人都知道如何使用Tab Bar应用程序模板实现这一点?
我猜它应该在: - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
但我已经尝试过,而且这种方法永远不会被调用......
非常感谢, 罗伯特
答案 0 :(得分:2)
这些代码可以帮助您隐藏tabbarcontroller并调整viewcontroller的大小。
- (void) hideTabBar:(UITabBarController *) tabbarcontroller {
int height = 480;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
for(UIView *view in tabbarcontroller.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x,view.frame.origin.y, 320, 436)];
}
}
[UIView commitAnimations];
}
第二种方法可以帮助您在视图中再次设置tababr
- (void) showTabBar:(UITabBarController *) tabbarcontroller {
int height = 480;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
for(UIView *view in tabbarcontroller.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
[view setFrame:CGRectMake(view.frame.origin.x, height, view.frame.size.width, view.frame.size.height)];
}
else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, height)];
}
}
[UIView commitAnimations];
}
在您的代码中实现代码之前请先理解代码...