2011-04-08 2 views
1

hi В моем приложении я использую TabBar. Вначале, когда я вызываю loginControl, я скрываю панель вкладок, используя [login hidesBottomBarWhenPushed=YES]; сейчас, если логин имеет успех, тогда я показываю detailViewController, но я не вижу TabBar даже после hidesBottomBarWhenPushed до NO.
В чем проблема ... может ли кто-нибудь мне помочь?Bottom tabBar hide

+0

Дайте нам код. Возможно, вы нажимаете на ваш detailView поверх tabBarController. –

ответ

0

Если вам больше не нужен контроллер входа в систему, вы можете нажать его перед тем, как нажать вторую. Это сделает работу, но в задней кнопке есть странная анимация. Это еще решение :)

[navController popViewControllerAnimated:NO]; 

Edit:

Попробуйте это ....

loginSuccessController *login = [[loginSuccessController alloc] initWithNibName:@"loginSuccessController" bundle:nil]; 
[self.navigationController popViewControllerAnimated:NO]; 
[self.navigationController pushViewController:login animated:YES]; 
+0

это мое кодирование, когда контроллер показывает страницу входа ... – Hiren

+0

Я редактировал свой пост. – Jorge

+0

hey Jorge, это невозможно, потому что popViewControlerAnimated call first .. так что никакого эффекта на pushViewController ... – Hiren

0

вы можете попробовать [self setHidesBottomBarWhenPushed:NO]; в viewwillappear вашего loginsuccesscontroller или viewdidload

+0

да, я пытаюсь, но никакого эффекта – Hiren

2

Используйте этот метод скрывать и показывать табуляцию :)

-(void)makeTabBarHidden:(BOOL)hide 
{ 

    UITabBarController *tabBarController = self.tabBarController; 

    if (hide == tabBarController.tabBar.hidden) { 
     return; 
    } 


    UIView *contentView; 

    if ([[tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) { 
     contentView = [tabBarController.view.subviews objectAtIndex:1]; 
    } else { 
     contentView = [tabBarController.view.subviews objectAtIndex:0]; 
    } 

    if (hide) { 
     contentView.frame = tabBarController.view.bounds; 
    } 
    else { 
     contentView.frame = CGRectMake(tabBarController.view.bounds.origin.x, 
             tabBarController.view.bounds.origin.y, 
             tabBarController.view.bounds.size.width, 
             tabBarController.view.bounds.size.height - tabBarController.tabBar.frame.size.height); 
    } 

    tabBarController.tabBar.hidden = hide; 
}