如何以编程方式从uialertcontroller中提取新视图

时间:2015-04-15 23:10:56

标签: ios swift segue uialertcontroller

我根本不确定如何做到这一点。接近但屏幕上没有任何东西出现。当按下警报视图上的按钮时,我希望从警报控制器转到新视图。问题是我认为我不能拥有标识符,因为我需要将它连接到用于玩游戏的按钮。因此,我认为我最好的选择是以编程方式将其从警报控制器转移到下一个视图而不使用标识符。有人知道这样做吗?

  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)

}

}

2 个答案:

答案 0 :(得分:0)

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

应该是

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

我认为你把错误的控制器放在那里,因为navController在原始代码中是无用的(未使用)。

答案 1 :(得分:0)

您使用笔尖而不是从故事板加载视图控制器的任何特殊原因?

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

从笔尖加载视图控制器是可以的,但是现在大多数人都在使用故事板,而且你可以从故事板上做一些你不能从笔尖做的事情。< / p>