第一次点击按钮动作不起作用
Posted
技术标签:
【中文标题】第一次点击按钮动作不起作用【英文标题】:button action does not work for the first time tapped 【发布时间】:2016-10-14 22:13:54 【问题描述】:我在故事板中创建了一个按钮。并为它创造了一个行动和出口。我通过按钮执行一些任务。但是按钮动作只从第二次开始执行。
这是我的按钮操作代码:
@IBAction func sendButtonTapped(sender: UIButton)
let domain = String(txtEmail.text!.characters.suffix(9))
if txtEmail.text == "" || domain != "nu.edu.kz"
let alertController = UIAlertController(title: "Error", message: "Please enter your valid nu.edu.kz e-mail", preferredStyle: .Alert)
let defaultAction = UIAlertAction(title: "Ok", style: .Cancel, handler: nil)
alertController.addAction(defaultAction)
self.presentViewController(alertController, animated: true, completion: nil)
else
if sendButton.currentTitle != "Reset Password has been sent"
FIRAuth.auth()?.sendPasswordResetWithEmail(self.txtEmail.text!, completion: (error) in
print(error?.localizedDescription)
if error != nil
print(error?.localizedDescription)
else
print("reset password email has been sent")
self.sendButton.setTitle("Reset Password has been sent", forState: .Normal)
)
正如我之前所说,我为按钮和文本字段创建了一个出口:
@IBOutlet weak var sendButton: UIButton!
@IBOutlet weak var txtEmail: UITextField!
附:我在这里使用 Swift 2.3。实际上,我想将按钮的标题设置为新按钮。第二次点击后会发生变化。
【问题讨论】:
【参考方案1】:请参考:
presentViewController:animated:YES view will not appear until user taps again
您可能想做的就是致电presentViewController(alertController, animated: true, completion: nil)
显式在主线程上
dispatch_async(dispatch_get_main_queue())
self.presentViewController(alertController, animated: true, completion: nil)
【讨论】:
我忘了说我要做什么,抱歉:) 我想将标题设置为新的。我将编辑我的问题 这确实对我有用。谢谢!你能解释一下这有什么帮助吗?以上是关于第一次点击按钮动作不起作用的主要内容,如果未能解决你的问题,请参考以下文章