0

FirstViewController私は私ののにメッセージボックスを作成しましたTabBarController:

- (void)pressedButton:(id)sender {
     [[[UIAlertView alloc] initWithTitle:@"Snap it" message:@"Take a picture"
                               delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]
     show];

ユーザーが「OK」をクリックすると、にリダイレクトされるようにしSecondViewControllerます。

これを行う方法はありますか?

前もって感謝します。

4

1 に答える 1

0

タブ バー コントローラーが " " に接続されている場合(またはそれを参照している場合)、タブの切り替えはプロパティIBOutletを更新するのと同じくらい簡単です(Apple のドキュメントをリンクしました)。selectedIndex

編集:

コードをこれに変更します。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // if you have connected your tab bar controller to an IBOutlet named myTabBarController
    if(myTabBarController)
    {
        // first tab bar controller is zero, second tab bar controller is 1, etc.
        myTabBarController.selectedIndex = 1;         
    } else {
        NSLog( @"tabBarController is nil and probably not set correctly" ); 
    }
}

- (void)pressedButton:(id)sender {
    UIAlertView * alertView = 
        [[UIAlertView alloc] initWithTitle:@"Snap it" message:@"Take a picture" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    if(alertView)
    {
        [alertView show];
    }
}

これは、タブ バー コントローラーを IBOutlet に正しく設定していることを前提としています。また、アラート ビューの "デリゲート" を "self" に設定したことにも注意してください (つまり、" clickedButtonAtIndex" メソッドをデリゲートとして使用する場合、" " メソッドは同じオブジェクトとクラスに存在する必要がありますself)。

于 2012-07-01T11:53:11.660 に答える