关于使UITabbar消失然后在单击UITableViewCell时重新出现的问题

问题描述:

在我的应用程序中,它是UITabBarController和UINavigation Controller的组合。我有一个选项卡,我希望在加载时使底部的选项卡消失,并在单击该选项卡的UItableview上最底层的UITableviewcell时再次出现。 为了实现这一点,我实现此方法:关于使UITabbar消失然后在单击UITableViewCell时重新出现的问题

-(void)viewWillAppear:(BOOL)animated 

{ self.navigationController.tabBarController.tabBar.hidden = TRUE; }

然后我实现的另一方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: 

(NSIndexPath *)indexPath { self.navigationController.tabBarController.tabBar.hidden = FALSE; }

所有的好,它的作品。然而,标签栏在消失之前的区域并不透明。有白色的乐队,下面的桌面看不到。 虽然使标签栏消失的整个目的是让屏幕更多地显示,并且可以看到下面的视图。

我该如何解决这个问题。我确定有一个设置的地方,只是无法弄清楚。有人能帮助我吗?

感谢

这是因为观点本身并没有填满整个屏幕,只有标签栏以外的区域。隐藏标签栏不会调整视图的大小。

View area

克服这个最简单的方式是创建一个新的视图,它填满整个屏幕(因此,不标签栏控制器的一部分),并推在需要时

- (IBAction)buttonPressed:(id)sender { 

    ThirdViewController *third = [[ThirdViewController alloc] initWithNibName:@"ThirdView" bundle:nil]; 
    [self.navigationController pushViewController:third animated:YES]; 

    [[[UIApplication sharedApplication] keyWindow] addSubview:third.view]; 

    [third release]; 
} 
+0

哇为此创建一个新的视图。我已经实现了一切,这意味着从头开始:( – banditKing 2011-04-02 17:42:55

+0

嗯,我添加了一个新的视图到我的xiB文件,这一次它是iPhone的全高:460.但是这并没有解决这个问题.. ... – banditKing 2011-04-02 17:50:41

+0

我现在已经添加了代码来做到这一点,见上面 – antalkerekes 2011-04-02 18:30:49