Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何以编程方式从alertcontroller切换到新视图_Ios_Swift_Segue_Uialertcontroller - Fatal编程技术网

Ios 如何以编程方式从alertcontroller切换到新视图

Ios 如何以编程方式从alertcontroller切换到新视图,ios,swift,segue,uialertcontroller,Ios,Swift,Segue,Uialertcontroller,我根本不知道该怎么做。已接近,但屏幕上没有显示任何内容。当按下警报视图上的按钮时,我希望从警报控制器转到新视图。问题是,我不认为我可以有一个标识符,因为我需要它连接到一个用来玩游戏的按钮。因此,我认为我最好的办法是让它以编程方式从警报控制器切换到下一个视图,而不使用和标识符。有人知道怎么做吗 let alertController: UIAlertController = UIAlertController(title: "You Finished!", message: "Congratu

我根本不知道该怎么做。已接近,但屏幕上没有显示任何内容。当按下警报视图上的按钮时,我希望从警报控制器转到新视图。问题是,我不认为我可以有一个标识符,因为我需要它连接到一个用来玩游戏的按钮。因此,我认为我最好的办法是让它以编程方式从警报控制器切换到下一个视图,而不使用和标识符。有人知道怎么做吗

  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)

}
}
应该是

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

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

您使用NIB而不是从故事板加载视图控制器有什么特殊原因吗

您可以使用instantialeviewcontrollerwhiteIdentifier方法从故事板加载它。(这是一个场景标识符,而不是序列标识符。该方法返回一个指向视图控制器的指针


从nib加载视图控制器是可以的,但是现在大多数人都在使用情节串连板,而且有些事情你可以从情节串连板上做,但是你从nib上做不到。

我现在发现线程1:SIGABRT 12顶级代码出错。你知道这可能是什么吗?你能给我一个错误的屏幕截图吗r指向或任何东西?错误指向类AppDelegate:UIResponder,UIApplicationDelegate控制台中的任何东西?我正在使用故事板,但我试图找到一种方法来加载下一个视图而不必使用标识符。我尝试了,但它不允许玩游戏。我不知道你说的另一个呃,我该如何包含它?你需要更清楚。我不确定你所说的“…你说的另一个…”是什么意思。你的意思是使用InstanceEviewController WithiIdentifier。要加载视图控制器?我建议在文档中搜索该方法名称。
self.presentViewController(navController, animated: true, completion: nil)