2011-04-08 10 views
1

こんにちは 私のアプリケーションでは、私はloginControlを呼び出すときにTabBar.Atを使用しています。[login hidesBottomBarWhenPushed=YES];を使用してタブバーを隠しています。ログインが成功すればdetailViewControllerを表示しますが、 hidesBottomBarWhenPushedNOに設定してください。
問題は何ですか...誰でも私を助けることができますか?ボトムtabBar hide

+0

コードを教えてください。あなたのdetailViewをtabBarControllerの上に押している可能性があります。 –

答えて

0

ログインビューコントローラが不要な場合は、もう一度ポップしてから2番目のボタンを押すことができます。これは作業を行いますが、戻るボタンには奇妙なアニメーションがあります。まだこのソリューション:)

[navController popViewControllerAnimated:NO]; 

編集:

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

これは私のコーディングで、コントローラがログインページを表示するときです... – Hiren

+0

私の投稿を編集しました。 – Jorge

+0

こんにちはJorge、popViewControlerAnimatedが最初に呼び出すため、これはできません。pushViewControllerには何の効果もありません。 – Hiren

0

はあなたloginsuccesscontrollerのviewwillappearかのviewDidLoad

+0

はい、試してみましたが効果はありません – Hiren

2

このメソッドを使用のために[self setHidesBottomBarWhenPushed:NO];を試すことができます....これを試してみてください非表示と表示タブバー:)

-(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; 
} 
関連する問題