// 底部标签栏跳转隐藏 返回显示
// 视图将要显示时候设置为显示标签栏
//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];
}