Iphone隐藏和显示TabBar的方法

1.隐藏TabBar:

  1. - (void)hideTabBar {  
  2.     if (self.tabBarController.tabBar.hidden == YES) {  
  3.         return;  
  4.     }  
  5.     UIView *contentView;  
  6.     if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )  
  7.         contentView = [self.tabBarController.view.subviews objectAtIndex:1];  
  8.     else  
  9.         contentView = [self.tabBarController.view.subviews objectAtIndex:0];  
  10.     contentView.frame = CGRectMake(contentView.bounds.origin.x,  contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height);          
  11.     self.tabBarController.tabBar.hidden = YES;  
  12.       
  13. }  

2.显示TabBar:
  1. - (void)showTabBar  
  2.   
  3. {  
  4.     if (self.tabBarController.tabBar.hidden == NO)  
  5.     {  
  6.         return;  
  7.     }  
  8.     UIView *contentView;  
  9.     if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]])  
  10.           
  11.         contentView = [self.tabBarController.view.subviews objectAtIndex:1];  
  12.   
  13.     else  
  14.           
  15.         contentView = [self.tabBarController.view.subviews objectAtIndex:0];        
  16.     contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y,  contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height);  
  17.     self.tabBarController.tabBar.hidden = NO;  
  18.       
  19. }  

3.如果定义了上面两个方法,在viewDidAppear:方法里面就可以调用了
  1. -(void)viewDidAppear:(BOOL)animated{  
  2.     //[self hideTabBar];  
  3.     [self showTabBar];  
  4. }  
原文地址:https://www.cnblogs.com/a7345678/p/2567225.html