用值替换空的 UITextfield

Posted

技术标签:

【中文标题】用值替换空的 UITextfield【英文标题】:Replace empty UITextfield with value 【发布时间】:2020-04-30 07:15:30 【问题描述】:

我正在构建一个仅限数字的文本字段。

我希望当文本字段中的文本为“”时将其替换为“0”。

我只能以只读方式获取当前文本。

提前致谢

【问题讨论】:

【参考方案1】:

editingChanged 委托方法添加到textField 如下:

viewDidLoad()方法中添加如下代码:

textField.addTarget(self, action: #selector(textFieldChanged(_:)), for: .editingChanged);

然后,实现方法如下:

@objc func textFieldChanged(_ textField: UITextField) 
    if let text = textField.text, text.isEmpty 
        textField.text = "0"
    

每次textField内容发生变化时都会调用上述方法。

您还可以将textField 的初始文本设置为“0”。只需在viewDidLoad() 方法中使用textField.text = "0"

【讨论】:

【参考方案2】:

如果您希望在完成编辑后更新文本字段,您可以像这样设置操作

然后

    @IBAction func editingDidEnd(_ txtTest: UITextField) 
    if txtTest.text == ""
    
        txtTest.text = "0"
    

【讨论】:

【参考方案3】:
textField.addTarget(self, action: #selector(handleTextField(_:)), for: .editingChanged)

@objc private func handleTextField(_ textField: UITextField) 
    if textField.text == "" 
        textFiled.text = "0"
    

【讨论】:

以上是关于用值替换空的 UITextfield的主要内容,如果未能解决你的问题,请参考以下文章

Django - 用值替换“模型对象”

用值替换 NULL

用值替换整个数据框中的字符串

用值替换列表中的元素,以新列表结尾

用值动态填充列的占位符

查找和替换列表中的元素