Ios UIAlertView将情节提要发送回开始位置

Ios UIAlertView将情节提要发送回开始位置,ios,storyboard,uialertview,Ios,Storyboard,Uialertview,带有故事板设置的iPhone应用程序。链接到其他视图的初始视图上的按钮。我已在该按钮单击中添加了一个警报,因此当点击该按钮时,视图会发生变化,警报会立即出现,询问“是否要继续?”?是不是 如果他们单击“是”,警报将消失;如果他们单击“否”,故事板将返回到开始 到目前为止,这就是我所得到的,它不起作用,什么也没发生。到目前为止,我已经尝试了多种被吹捧的解决方案,但到目前为止没有任何效果。移除按钮索引检查没有任何作用 实际上,我更喜欢在视图更改之前显示此警报,但目前我在segue发生后显示它,这并不

带有故事板设置的iPhone应用程序。链接到其他视图的初始视图上的按钮。我已在该按钮单击中添加了一个警报,因此当点击该按钮时,视图会发生变化,警报会立即出现,询问“是否要继续?”?是不是

如果他们单击“是”,警报将消失;如果他们单击“否”,故事板将返回到开始

到目前为止,这就是我所得到的,它不起作用,什么也没发生。到目前为止,我已经尝试了多种被吹捧的解决方案,但到目前为止没有任何效果。移除按钮索引检查没有任何作用

实际上,我更喜欢在视图更改之前显示此警报,但目前我在segue发生后显示它,这并不理想,但如果我能将其恢复到segue,它仍然是可以接受的

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

   if (buttonIndex==1)     {
        [self.navigationController popViewControllerAnimated:YES];

    }
}

有什么想法吗?

我猜您已经使用故事板上的一个序列将第一个视图上的按钮链接到了第二个视图。若要获取它,以便UIAlertView在第一个视图上弹出,然后根据单击“是”或“否”来触发segue,您需要删除该segue,并通过Ctrl键从第一个视图(而不是按钮)拖动到第二个视图来再次创建它

通过Ctrl键将按钮拖动到views.h文件并选择Action,为按钮创建iAction(如果尚未创建)。这将自动在.m文件中创建方法-在该方法中,您需要调用UIAlertView

- (IBAction)buttonPressed:(id)sender
{
    [myAlertView show];
}
然后,ClickedButtonIndexMethod应该与之前的方法类似。您不需要弹出控制器(因为segue没有自动发生),而需要使用performsguewithidentifier调用您的segue

- (void)alertView (UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // They clicked Yes
    if (buttonIndex==1)     
    {
        [self performSegueWithIdentifier:@"YourSegueName" sender:self];
    }
}
关于未调用的ClickedButtonIndex方法,您是否已将该视图设置为UIAlertView的委托?因此,在views.h文件中,您需要具有如下UIAlertViewDelegate:

@interface MyViewController : UIViewController <UIAlertViewDelegate>
@接口MyViewController:UIViewController