我想知道如何从UIAlertView启动一个新的ViewController。对我而言,似乎你无法以图形的方式连接viewControllers。
我在第一个viewController中设置了UIAlertView,如下所示:
UIAlertView *messageAlert = [[UIAlertView alloc]
initWithTitle:@"Start New View Controller?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Yes",nil];
然后我像这样处理不同的按钮点击:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex{
if (buttonIndex == 0){
NSLog(@"Cancel");
}
if (buttonIndex == 1){
NSLog(@"Yes");
}
}
如何使用此警告框启动第二个viewController(例如viewContoller2)?
答案 0 :(得分:0)
您可以以常规方式启动视图控制器,也可以使用segue。对于segue,您可以执行以下操作:
if (buttonIndex == 1){
[self performSegueWithIdentifier:@"SEGUE_IDENTIFIER" sender:self];
}
以及稍后在代码中,您以这种方式设置控制器:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"SEGUE_IDENTIFIER"]) {
MyViewController *viewContoller2 = (MyViewController *)segue.destinationViewController;
NSLog("viewContoller2 is ready for use");
}
}
或没有segues,请执行:
if (buttonIndex == 1){
MyViewController *viewContoller2 = [[MyViewController alloc] init];
[self presentViewController:viewContoller2 animated:YES completion:nil];
}