第一次点击按钮动作不起作用

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)

【讨论】:

我忘了说我要做什么,抱歉:) 我想将标题设置为新的。我将编辑我的问题 这确实对我有用。谢谢!你能解释一下这有什么帮助吗?

以上是关于第一次点击按钮动作不起作用的主要内容,如果未能解决你的问题,请参考以下文章

键盘完成键动作swift iOS不起作用

浮动动作按钮!为啥它不起作用?

ag-grid cellRenderer元素的动作不起作用

Android Studio 3.1.2运行按钮不起作用

操作栏后退按钮不起作用

重复淡入淡出效果不起作用