在使用系统提供的方法(1、hidesBottomBarWhenPushed 2、tabBarController.tabBar.hidden)隐藏tabbar之后,tabbar隐藏,他的位置仍然是不能被其他视图覆盖的,所以如果要使用tabbar的位置的话,系统方法是行不通的。
下面介绍其他方法
参考资料:http://blog.youkuaiyun.com/a6472953/article/details/8363076
方法添加到controller里面 调用就可以
- (void) hideTabBar:(BOOL) hidden
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];
for(UIView *view in self.tabBarController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
if (hidden)
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
} else
{
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
}
}
else
{
if (hidden)
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
} else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}
}
}
[UIView commitAnimations];
}