ios 隐藏tabbar轻松实现

// 底部标签栏跳转隐藏 返回显示

// 视图将要显示时候设置为显示标签栏



//1.设置self.tabBarController.tabBar.hidden=YES;

     

self.tabBarController.tabBar.hidden=YES;


//2.如果在push跳转时需要隐藏tabBar,设置self.hidesBottomBarWhenPushed=YES;


    self.hidesBottomBarWhenPushed=YES;

    NextViewController *next=[[NextViewController alloc]init];

    [self.navigationController pushViewController:next animated:YES];

    self.hidesBottomBarWhenPushed=NO;


//并在push后设置self.hidesBottomBarWhenPushed=NO;

//这样back回来的时候,tabBar会恢复正常显示。

////////////////////////////////////////////////////////以下方法也可以/////////////////////////////////////////////////////////////////////////


-(void)viewWillAppear:(BOOL)animated {
    self.tabBarController.tabBar.hidden = NO;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   static NSString *CellIdentifier = @"tvcelll";
   TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

// 防止切换标签 导致标签栏隐藏   

self.tabBarController.tabBar.hidden = NO;
    return cell ;
}

// 点击cell 时候隐藏标签栏 并且将cell点击效果设置为 松开 点击效果消失 良好用户体验

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    // 松开手颜色消息
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    
   ViewController *vc =[[self storyboard] instantiateViewControllerWithIdentifier:@"vc"];

    // 隐藏标签栏
    self.tabBarController.tabBar.hidden = YES;
    // 当跳转时候隐藏
    self.hidesBottomBarWhenPushed = YES;
    
    [self showViewController:vc sender:nil];
    
    
    
}

 

你可能感兴趣的:(标签控制器)