如果您将标签栏控制器连接到“ IBOutlet
”(或对它有其他引用),则切换标签就像更新selectedIndex
属性一样简单(我已经为您链接了 Apple 文档)。
编辑:
将您的代码更改为此。
- (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。另请注意,我已将警报视图上的“委托”设置为“自我”(即,如果使用“ ”作为委托,“ clickedButtonAtIndex
”方法必须存在于同一对象和类中)。self