关于使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; }
所有的好,它的作品。然而,标签栏在消失之前的区域并不透明。有白色的乐队,下面的桌面看不到。 虽然使标签栏消失的整个目的是让屏幕更多地显示,并且可以看到下面的视图。
我该如何解决这个问题。我确定有一个设置的地方,只是无法弄清楚。有人能帮助我吗?
感谢
答
这是因为观点本身并没有填满整个屏幕,只有标签栏以外的区域。隐藏标签栏不会调整视图的大小。
克服这个最简单的方式是创建一个新的视图,它填满整个屏幕(因此,不标签栏控制器的一部分),并推在需要时该:
- (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];
}
哇为此创建一个新的视图。我已经实现了一切,这意味着从头开始:( – banditKing 2011-04-02 17:42:55
嗯,我添加了一个新的视图到我的xiB文件,这一次它是iPhone的全高:460.但是这并没有解决这个问题.. ... – banditKing 2011-04-02 17:50:41
我现在已经添加了代码来做到这一点,见上面 – antalkerekes 2011-04-02 18:30:49