如何在用户单击“确定”时显示UIAlertController并执行操作?

时间:2016-04-21 15:21:19

标签: ios swift uialertcontroller

我被UIAlertController困住了。

我有这个警报视图:

@IBAction func AddPatientButton(sender: AnyObject) {
    let alert = UIAlertController(title:"Registro Paciente", message: "Paciente Registrado", preferredStyle: UIAlertControllerStyle.Alert)

    alert.addAction(UIAlertAction(title:"Ok", style: UIAlertActionStyle.Default, handler: nil))

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


}

它正确显示了我的警报视图。但我想要的是当用户按下确定按钮时,此按钮执行segue并将用户发送到另一个ViewController。

3 个答案:

答案 0 :(得分:3)

此示例代码可以满足您的需求。

@IBAction func AddPatientButton(sender: AnyObject) {

    let alert = UIAlertController(title:"Registro Paciente", message: "Paciente Registrado", preferredStyle: UIAlertControllerStyle.Alert)

    alert.addAction(UIAlertAction(title:"Ok", style: UIAlertActionStyle.Default, handler: { alertAction in

   // Code to segue/change VC !
   self.performSegueWithIdentifier("segue_name", animated: true)
   //

}))

只需确保为要转到的视图控制器创建一个segue,并在检查器中为该segue指定一个标识符(单击segue并检查检查器)。然后复制粘贴标识符" segue_name"是

让我用图片展示:

1)添加一个新的VC(除非你已经有一个你想要去的VC)。然后按住Ctrl键并从您来自VC的黄色图标拖动到要转到的VC:

Here it is

2)选择显示或您要查找的任何选项:

Here it is

3)选择segue(出现的箭头),单击Attributes Inspector(右上角),然后填写标识符:

enter image description here

然后复制粘贴标识符" segue_name"在我给你的代码中。

答案 1 :(得分:2)

您需要为按钮添加处理程序。你快到了。将手动segue添加到要转到的视图控制器。确保为该segue添加标识符。

alert.addAction(UIAlertAction(title:"Ok", style: UIAlertActionStyle.Default, handler: {

        self.performSegueWithIdentifier("my_segue_name", animated: true)

}))

答案 2 :(得分:2)

let alertController = UIAlertController(title: titleAlert, message: msg, preferredStyle: UIAlertControllerStyle.Alert)
let go = UIAlertAction(title: titleBtn, style: UIAlertActionStyle.Default, handler: { (action: UIAlertAction!) in
    //Your Action here
})
alertController.addAction(go)
alertController.addAction(UIAlertAction(title: "CANCEL", style: UIAlertActionStyle.Destructive, handler: nil))
self.presentViewController(alertController, animated: true, completion: nil)