我有一个带有电话号码字段的注册屏幕。 如果用户键入的电话号码太短,我会显示UIAlertController。 在她取消警报后,用户无法再次发送她的电话号码,因为点按了发送按钮。 有没有办法在解除警报时重新加载视图以使按钮未被打开? 感谢
func present_alert(title:String, content : String){
let myAlert = UIAlertController(title:title, message:content, preferredStyle:UIAlertControllerStyle.alert)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:nil)
myAlert.addAction(okAction)
self.present(myAlert, animated:true)
}
答案 0 :(得分:2)
按钮点击的主要原因是您停用了按钮sender.isEnabled = false
,当再次显示警报时启用按钮,肯定有效addyourbuttonName.isEnabled = true
如果要清除当前文本字段值,请使用yourtextfield.text = ""
let alertController = UIAlertController(title: “Simple”, message: “Simple alertView demo with Cancel and Ok.”, preferredStyle: UIAlertControllerStyle.alert)
let okAction = UIAlertAction(title: “OK”, style: UIAlertActionStyle.default) { (result : UIAlertAction) -> Void in
print(“OK”)
yourtextfield.text = ""
yourtextfield.becomeFirstResponder()
addyourbuttonName.isEnabled = true
}
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)
答案 1 :(得分:0)
func present_alert(title:String, content:String, button:UIButton){
let myAlert = UIAlertController(title:title, message:content, preferredStyle:UIAlertControllerStyle.alert)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:nil)
myAlert.addAction(okAction)
self.present(myAlert, animated:true){
button.isEnabled = true
}
}
答案 2 :(得分:0)
据我了解您的问题,问题是您收到参数“isEnabled”的按钮 false 值。要解决这个问题,只需在块中添加最后一个字符串:
buttonName.isEnabled = true
答案 3 :(得分:0)
单击UIAlertAction(取消或确定)后,可以在该确定或取消方法中添加一些功能。在该方法的最后一步,添加viewWillAppear(true)方法。然后,UIViewController自动刷新。