我将以下代码用于在用户注册其帐户后将其带到登录页面的位置。我无法弄清楚如何在创建帐户时弹出“警报”框,并且用户停留在“注册”页面上,直到他们单击“警报”框底部的“登录”按钮,然后将其重定向到登录页。关于如何更改下面的当前代码的任何想法?
// Display alert message with confirmation
var alert = UIAlertController(title: "Registration Successful", message: "You may now login. Thank You!", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title:"Login", style: UIAlertActionStyle.Default){ action in
self.dismissViewControllerAnimated(true, completion: nil)
}
alert.addAction(okAction)
}
func displayAlertMessage(userMessage:String) {
var alert = UIAlertController(title:"Alert", message: userMessage, preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title:"Ok", style: UIAlertActionStyle.Default, handler: nil)
alert.addAction(okAction)
self.presentViewController(alert, animated: true, completion: nil)
}
答案 0 :(得分:1)
所以,我假设你想要一个警告,标题中写着“注册成功”,有一条消息说“你现在可以登录。谢谢!”它只有一个登录按钮(没有取消按钮)。
我认为,您在代码中缺少的是该登录操作的处理程序。 试试这个:
func displayLoginAlert() {
var alert = UIAlertController(title:"Registration successful",
message:"You may now login. Thank You!",
preferredStyle: UIAlertControllerStyle.Alert)
let loginAction = UIAlertAction(title:"Login",
style:UIAlertActionStyle.Default) { (UIAlertAction) -> Void in
// HERE you perform the segue to your LoginVC,
// or do whatever else you wanna do when the user clicked "Login" :)
// for example:
self.performSegueWithIdentifier(theIDOfYourSegueToTheLoginVC, sender:self)
}
alert.addAction(loginAction)
self.presentViewController(alert, animated: true, completion: nil)
}
注意,如果您的部署目标是iOS 8.0.0或更高版本(我假设通过查看问题标签,这是正确的方法)。如果您想使用较低的iOS版本,则必须实现UIAlertViewDelegate protocol并且还改变了你的功能。我现在不会详细说明,但如果你确实计划部署到iOS< 8.0.0,并且对该协议的实现和设计有疑问函数考虑到不同的iOS,可以在评论中自由地说出来(并更新标签......:))