iOS 开发:通过按下警报中的按钮进行 Segue?

Posted

技术标签:

【中文标题】iOS 开发:通过按下警报中的按钮进行 Segue?【英文标题】:iOS Dev: Segue by pressing a button in an Alert? 【发布时间】:2012-08-14 17:13:48 【问题描述】:

我已经搜索了几个小时,但没有找到任何答案,因此非常感谢您的帮助!

我正在设计一个应用程序,当按下警报中的按钮时,我需要切换到不同的视图控制器。我已经设置了警报,但只需要代码来切换到新视图。

【问题讨论】:

【参考方案1】:

试试这个。先创建alertview。

UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Message"  message:@"Open New controller?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes",nil];
[alertView show];
[alertView release];

实现 AlertView 委托方法

#pragma mark AlertView Delegate
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

    if (buttonIndex != alertView.cancelButtonIndex)
    
        Viewcontroller *vc = [[UIViewcontroller alloc] initWithNib:@"Viewcontroller"];
        [self presentModalViewController:vc];
        [vc release];
    

【讨论】:

【参考方案2】:

实现UIAlertViewDelegate 并添加方法alertView:clickedButtonAtIndex:。单击右键后,调用该方法以进入新视图。

【讨论】:

【参考方案3】:

实现UIAlertViewDelegate,然后你会得到一个回调,当警报被解除时按下哪个按钮。只需在其中拨打performSegueWithIdentifier即可。

更多详情请关注UIAlertViewDelegate protocol reference

【讨论】:

以上是关于iOS 开发:通过按下警报中的按钮进行 Segue?的主要内容,如果未能解决你的问题,请参考以下文章

关闭自定义警报视图并解除 segue 问题?

iOS希望在按下按钮时延迟视图控制器之间的segue

使用按下按钮和数组行的标识来执行 segue

如何通过 AlertView 切换到另一个 ViewController 并执行 segue?

ios/objective-c: 检测 tabbarbutton 按下事件

iOS segue 慢 - 即使没有对destinationViewController 进行任何处理