swift4中textfield为0时如何显示alert?
How to display alert when the value of textfield is 0 in swift4?
我想在文本字段的值为 0 时显示警告。
但是,在文本字段中输入值 0 不会显示警报。
我该如何解决这个问题?
@IBOutlet var priceTextfield: UITextField!
if Int(priceTextfield.text!) == 0 {
let aert = UIAlertController(title: "OK", message: "Price must be greater than 0.", preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default)
alert.addAction(OK)
self.present(alert, animated: false)
}
你应该处理这是 textFieldShouldEndEditing
委托。
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if Double(textField.text!) == 0 {
// Show alert
return false
}
return true
}
注意:您的视图控制器需要符合UITextFieldDelegate
并且必须设置文本字段委托。
class YourViewController: UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
priceTextfield.delegate = self
}
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if textField.text.count > 1 {
if let value = Int(textField.text), value == 0 { // Convert string to Int
// Show alert
}
}
return true
}
我想在文本字段的值为 0 时显示警告。 但是,在文本字段中输入值 0 不会显示警报。
我该如何解决这个问题?
@IBOutlet var priceTextfield: UITextField!
if Int(priceTextfield.text!) == 0 {
let aert = UIAlertController(title: "OK", message: "Price must be greater than 0.", preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default)
alert.addAction(OK)
self.present(alert, animated: false)
}
你应该处理这是 textFieldShouldEndEditing
委托。
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if Double(textField.text!) == 0 {
// Show alert
return false
}
return true
}
注意:您的视图控制器需要符合UITextFieldDelegate
并且必须设置文本字段委托。
class YourViewController: UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
priceTextfield.delegate = self
}
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if textField.text.count > 1 {
if let value = Int(textField.text), value == 0 { // Convert string to Int
// Show alert
}
}
return true
}