在我的应用程序中,它是UITabBarController和UINavigation Controller的组合。我有一个标签,我想在加载时使底部的标签栏消失,并在单击该标签的UItableview上最底部的UITableviewcell时重新出现。 为此,我实现了这个方法:
-(void)viewWillAppear:(BOOL)animated
{ self.navigationController.tabBarController.tabBar.hidden = true; }
然后我实现了另一种方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
(NSIndexPath *)indexPath { self.navigationController.tabBarController.tabBar.hidden = false; }
一切都好,它有效。但是,标签栏在消失之前所在的区域是不透明的。有白色带子,下面的桌面视图没有看到。 虽然使标签栏消失的重点在于有更多的屏幕房产并且可以看到下面的视图。
如何解决此问题。我确定在某个地方有一个设置,只是无法搞清楚。有人可以帮助我。
由于
答案 0 :(得分:0)
这是因为视图本身不会填满整个屏幕,只会填充标签栏外的区域。隐藏标签栏不会调整视图大小。
解决此问题的最简单方法是创建一个新视图,它填满整个屏幕(因此,不是标签栏控制器的一部分),并在需要时按 :
- (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];
}