タブ バー コントローラーが " " に接続されている場合(またはそれを参照している場合)、タブの切り替えはプロパティ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
)。