UIAlertController 短时间后自动消失
UIAlertController is disappearing automatically after short time
如果文本字段为空,我想做一个UIAlertController
提醒,必须在文本字段中填写一些内容。现在我有以下代码:
@IBAction func saveDetails(segue: UIStoryboardSegue) {
let dController = segue.source as? EntryTableViewController
if let text = dController?.bezeichnungTextField.text, text.isEmpty {
let alert = UIAlertController(title: "No description", message: "Please fill out description", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "OK", style: .default)
alert.addAction(cancelAction)
self.present(alert, animated: true, completion: nil)
}else {
guard let menge = dController?.mengeTextField.text, let bezeichnung = dController?.bezeichnungTextField.text, let kategorie = dController?.categoryButtonOutlet.titleLabel?.text else {return}
self.saveItem(menge: menge, bezeichnung: bezeichnung, kategorie: kategorie)
self.tableView.reloadData()
}
}
现在,当我按下第一个控制器的 return 按钮时,它实际上起作用了。但是 UIAlertController
只会出现很短的时间,然后自动消失。我的代码是否有错误,或者无法在 unwind segue
上调用 UIAlertController
?
感谢您的帮助
您只需显示警报控制器,然后立即放松。解决方案是在展开前检查空文本字段。
为您的按钮创建 IBAction,然后检查文本字段是否为空,然后以编程方式执行您的 segue。
如果文本字段为空,我想做一个UIAlertController
提醒,必须在文本字段中填写一些内容。现在我有以下代码:
@IBAction func saveDetails(segue: UIStoryboardSegue) {
let dController = segue.source as? EntryTableViewController
if let text = dController?.bezeichnungTextField.text, text.isEmpty {
let alert = UIAlertController(title: "No description", message: "Please fill out description", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "OK", style: .default)
alert.addAction(cancelAction)
self.present(alert, animated: true, completion: nil)
}else {
guard let menge = dController?.mengeTextField.text, let bezeichnung = dController?.bezeichnungTextField.text, let kategorie = dController?.categoryButtonOutlet.titleLabel?.text else {return}
self.saveItem(menge: menge, bezeichnung: bezeichnung, kategorie: kategorie)
self.tableView.reloadData()
}
}
现在,当我按下第一个控制器的 return 按钮时,它实际上起作用了。但是 UIAlertController
只会出现很短的时间,然后自动消失。我的代码是否有错误,或者无法在 unwind segue
上调用 UIAlertController
?
感谢您的帮助
您只需显示警报控制器,然后立即放松。解决方案是在展开前检查空文本字段。
为您的按钮创建 IBAction,然后检查文本字段是否为空,然后以编程方式执行您的 segue。