点击“确定”后,我正在尝试切换到另一个ViewController。在AlertController上。目前,当我点击“确定”时它保留在当前的ViewController上。如何才能做到这一点?感谢。
此代码显示在ViewController1中,我想在点击“确定”后更改为ViewController4。当AlertController出现时。
以下代码:
@IBAction func submitTapped(sender: AnyObject) {
print("Validating...")
validator.validate(self)
Button1.hidden = false
}
// MARK: ValidationDelegate Methods
func validationSuccessful() {
print("Validation Success!")
let alert = UIAlertController(title: "Success", message: "You are validated!", preferredStyle: UIAlertControllerStyle.Alert)
let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: {action in ViewController4))
alert.addAction(defaultAction) - Error Code // Variable used within its own initial value
self.presentViewController(alert, animated: true, completion: nil)
} - Error Code //Expected ‘,’ separator
答案 0 :(得分:2)
您需要为OK
操作添加处理程序:
let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: {action in
performSegueWithIdentifier("controller4SequeIdentifier", sender: nil);
})
alert.addAction(defaultAction)
self.presentViewController(alert, animated: true, completion: nil)
在处理程序中,您可以切换到另一个控制器。请注意,这将在用户按下OK
按钮后发生。您还需要在故事板中为ViewController4添加一个seque,并为其指定一个标识符,以匹配传递给performSegueWithIdentifier
的标识符。