Ios swift4中textfield的值为0时,如何显示警报?
我想在textfield的值为0时显示警报。 但是,在文本字段中输入值0不会显示警报 我怎样才能解决这个问题Ios swift4中textfield的值为0时,如何显示警报?,ios,swift,uitextfielddelegate,Ios,Swift,Uitextfielddelegate,我想在textfield的值为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)
@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)
}
你应该处理这个问题
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 Double(textField.text!) == 0 {
// Show alert
return false
}
return true
}
注意:您的视图控制器需要符合UITextFieldDelegate
,并且必须设置文本字段委派
class YourViewController: UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
priceTextfield.delegate = self
}
}
您可以添加一些其他详细信息。此处回答:@Mike感谢您的帮助:)您可以添加一些其他详细信息。此处回答:@Mike感谢您的帮助:)您的答案与shasthri answerconverted string之间的区别是什么?将字符串转换为Int,因为询问了问题。请使用zero.UItextField文本属性检查它是可选字符串。你需要打开它的值
Int(textField.text!)
Btw text的默认值为空字符串。即使在尝试访问其值之前分配nil,它也将返回“
”。因此,可以强制展开其值。您的答案和shasthri answerconverted字符串之间的差异是什么?已将字符串转换为Int,因为问题已被询问。请使用zero.UItextField文本属性检查它是可选字符串。你需要打开它的值Int(textField.text!)
Btw text的默认值为空字符串。即使在尝试访问其值之前分配nil,它也将返回“
”。所以,强制展开它的值是可以的。每次谢谢:)每次谢谢:)