0

9 画面のアプリケーションを作成し、そこに 4 つの baritem を含むタブバーを追加しました。今、私は2つの問題を抱えています -

1 =>最後のバリアイテムはログアウトボタンです。ビューコントローラーを表示したくありません。ユーザーがこのボタンをクリックすると、アラートビューがポップアップしてログアウトを要求し、ユーザーが「はい」と言うとログアウトします。

2=>タブバーに9画面と4画面しか表示されないため、タブバーに追加されていないView Controllerにタブバーを表示する方法。

アップデート

アプリに9つのView Controllerがあると言いました

お気に入り...

firstViewController
secondViewController
thirdViewController
fourViewController
|
|
ninthViewController

しかし、私のタブバーには、baritem に 4 つのビュー コントローラーしかありません。

firstViewController
secondViewController
thirdViewController
fourViewController

今、私の他のView Controllerはタブバーを表示しません。

4

2 に答える 2

1

これが正しい方法かどうかはわかりませんが、このようにすることができます...

まず、ログインを表示してホームに戻る方法を示すこの質問を読んでください。

このコードを didFinishLaunchingWithOptions メソッドに追加します

UIViewController * logoutVC =[[UIViewController alloc] init];

NSArray *viewControllersArray = [[NSArray alloc] initWithObjects:firstView, secondView, thirdView,logoutVC, nil];

self.tabController = [[UITabBarController alloc] init];
[self.tabController setViewControllers:viewControllersArray animated:YES];
[self.window addSubview:self.tabController.view];

そして、このタブバーのデリゲートメソッドを実装します

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    //select the index where your logout button is
    if ([tabBarController selectedIndex] == 3) {
        NSLog(@"logout");
        self.tabController.selectedViewController = fistView;  //firstview is your home screen
        //LOGOUT
        LoginViewController * vc = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
        vc.delegate = self;
        [self.tabController presentModalViewController:vc animated:NO];
    }
}
于 2013-01-16T16:15:37.420 に答える
0

最初の質問:

これは、タブ バー コントローラーの悪用です。タブ バー コントローラーの各項目は、アクションではなく、アプリ内の異なるビューである必要があります。ログアウト アクション ボタンの適切な場所を見つけます。

2 番目の質問:

タブ バー コントローラーのメイン VC の 1 つではないビュー コントローラーを表示するには、いくつかの方法があります。次の方法でアクセスできます。

  • モーダル画面として表示される

  • ポップオーバーとして

アップデート

タブ バーのメイン VC ではない「セカンダリ」View Controller を表示するには、タブ バーを表示したままにします。そのセカンダリ VC をメイン タブ バー VC のサブ ビュー コントローラーとして表示できます。つまり、セカンダリ VC のビューをメイン VC ビューのサブビューとして表示します。

于 2013-01-16T15:53:19.490 に答える