2

これが私のコードの一部ですが、このようにして、第3レベルのView Controllerを押すと、タブバーが表示されません。

//at first level
SecondLevelViewController *_2vc = [[SecondLevelViewController alloc]initWithNibName:@"SecondLevelViewController" bundle:nil];
    _2vc.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:_2vc animated:YES];  

//at second level
ThirdLevelViewController *_3vc = [[ThirdLevelViewController alloc]initWithNibName:@"ThirdLevelViewController" bundle:nil];
    _3vc.hidesBottomBarWhenPushed = NO;
    [self.navigationController pushViewController:_3vc animated:YES];
4

2 に答える 2

3
    // Load the view
    AddViewController *aController = [[AddViewController alloc] init];

    // Set the view title
    aController.title = @"Add View";

    // hide tabbar
    aController.hidesBottomBarWhenPushed = YES;

    // add it to stack.
    [[self navigationController] pushViewController:aController animated:YES];

 -(void)viewWillAppear: (BOOL)animated
 {
    [super viewWillAppear:animated];
    [self.tabBarController.tabBar setHidden:YES];
 }

-(void)viewWillDisappear: (BOOL)animated 
{
    [super viewWillDisappear:animated];
    [self.tabBarController.tabBar setHidden:NO];
} 
于 2012-06-11T07:56:25.907 に答える
1

ビューコントローラを初期化するときにhidesBottomBarWhenPushedの値を設定する代わりに、代わりにビューコントローラでアニメーション化された-(void)viewWillAppear:(BOOL)で非表示メカニズムを処理する必要があります。

この実装の例は次のとおりです。

SecondLevelViewController.mで

-(void)viewWillAppear:(BOOL)animated
{
   [_bottomBar setHidden:YES];
}

ThirdLevelViewController.mで

-(void)viewWillAppear:(BOOL)animated
{
   [_bottomBar setHidden:NO];
}
于 2012-06-11T07:29:09.963 に答える