UITabBar не будет скрывать - PullRequest
       23

UITabBar не будет скрывать

0 голосов
/ 18 апреля 2011

У меня есть UINavigationController в UITabBarController, и мне не удается скрыть tabBar с помощью push-view viewController.

Я использую следующий код для его скрытия:

Передтолкается:

tpsv.hidesBottomBarWhenPushed = YES; tpsv.tabBarController.hidesBottomBarWhenPushed = YES;

viewWillAppear:

self.tabBarController.tabBar.hidden = YES;

AppDelegate *del = (AppDelegate *)[[UIApplication sharedApplication] delegate];

[[[del tabController] tabBar]setHidden:YES];

Но ничего из вышеперечисленного не работает.

Если бы вы могли сказать мне, как это исправить, это было бы замечательно.

Ответы [ 3 ]

4 голосов
/ 18 апреля 2011

Вы устанавливаете это, прежде чем нажать новый контроллер представления:

MyViewController *myVC = [[[MyViewController alloc] init] autorelease];
myVC.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:myVC animated:YES];

[РЕДАКТИРОВАТЬ: использование комментариев повторно]

Только что заметил, что вы пытались это сделать.Не уверен, что еще вы делаете в контексте подталкивания вашего VC или его настройки, но это работает нормально.Именно так я и поступаю в своих приложениях.

2 голосов
/ 18 апреля 2011
- (void) hideTabBar:(UITabBarController *) tabbarcontroller {


    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    for(UIView *view in tabbarcontroller.view.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
        } 
        else 
        {
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
        }

    }

    [UIView commitAnimations];





}

- (void) showTabBar:(UITabBarController *) tabbarcontroller {

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    for(UIView *view in tabbarcontroller.view.subviews)
    {
        NSLog(@"%@", view);

        if([view isKindOfClass:[UITabBar class]])
        {
            [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];

        } 
        else 
        {
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
        }


    }

    [UIView commitAnimations]; 
}
0 голосов
/ 14 июля 2011

Я столкнулся с той же проблемой с

myVC.hidesBottomBarWhenPushed = YES;

Он не удаляет панель вкладок в последующих представленияхМожет быть, это устарело.Вы не должны сталкиваться с этой проблемой с помощью команды setHidesBottomBarWhenPressed :.Попробуйте использовать следующее для представлений:

MyViewController *myVC = [[[MyViewController alloc] init] autorelease];
[myVC setHidesBottomBarWhenPushed:YES];
[self.navigationController pushViewController:myVC animated:YES];
...