【问题标题】:How to segue to a new view from an alertcontroller programmatically如何以编程方式从警报控制器转到新视图
【发布时间】:2015-04-15 23:10:56
【问题描述】:

我完全不知道该怎么做。靠近了,但屏幕上什么也没有显示。当按下警报视图上的按钮时,我希望从警报控制器转到新视图。问题是我认为我没有标识符,因为我需要将它连接到用于玩游戏的按钮。所以我认为我最好的选择是让它以编程方式从警报控制器转移到没有标识符的下一个视图。有人知道这样做吗?

  let alertController: UIAlertController = UIAlertController(title: "You Finished!", message: "Congratulations for finishing the game! Now all thats left is to email us so we can contact you.", preferredStyle: .Alert)
        let nextAction = UIAlertAction(title: "Email", style: .Default) {
            action -> Void in
            let secondvc = EmailViewController (nibName: "EmailViewController", bundle: nil)
            let navController = UINavigationController(rootViewController: secondvc)
            self.presentViewController(EmailViewController(), animated: true, completion: nil)
        }

        alertController.addAction(nextAction)

        self.presentViewController(alertController, animated: true, completion: nil)

}
}

【问题讨论】:

    标签: ios swift segue uialertcontroller


    【解决方案1】:
    self.presentViewController(EmailViewController(), animated: true, completion: nil)
    

    应该是

    self.presentViewController(navController, animated: true, completion: nil)
    

    我认为您放错了控制器,因为 navController 在您的原始代码中是无用的(未使用)。

    【讨论】:

    • 我现在收到线程 1 的错误:SIGABRT 12 top_Level_Code。知道那可能是什么吗?
    • 你能给我一张错误指向什么的截图吗?
    • 错误指向类 AppDelegate: UIResponder, UIApplicationDelegate
    • 控制台中有什么东西吗?
    【解决方案2】:

    您使用 nib 而不是从情节提要加载视图控制器的任何特殊原因?

    您可以使用方法 instantiateViewControllerWithIdentifier 从 Storyboard 加载它。 (这是一个场景标识符,而不是一个 segue 标识符。该方法会返回一个指向视图控制器的指针。

    从 nib 加载您的视图控制器是可以的,但是现在大多数人都在使用故事板,并且有些事情可以通过故事板完成,而您不能通过 nib 完成。

    【讨论】:

    • 我正在使用情节提要,但我试图找到一种无需使用标识符即可加载下一个视图的方法。我试过了,它不允许玩游戏。我不知道你说的另一个,我怎么把它包括在内?
    • 你需要更清楚。我不确定你所说的“......你说的另一个......”是什么意思。您的意思是使用 instanceViewControllerWithIdentifier。加载视图控制器?我建议在文档中搜索该方法名称。
    猜你喜欢
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2021-04-28
    相关资源
    最近更新 更多