textfielddid开始编辑时未更新标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了textfielddid开始编辑时未更新标签相关的知识,希望对你有一定的参考价值。

我低于目标的快捷代码是当用户在文本字段tt中输入内容时,它会在currentPageLabel中反映出来。我认为可以做到这一点的功能无效。我没有输入标签上显示的文本字段。我所有的代码都不使用情节提要。

var currentPageLabel = UILabel()
var tt = UITextfield()

func textFieldDidBeginEditing(_ textField: UITextField) {
    currentPageLabel.text = tt.text
}
答案

尝试此UITextFieldDelegate方法:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    let text = (textField.text as NSString?)?.replacingCharacters(in: range, with: string)
    currentPageLabel.text = text
    return true
}
另一答案

在这种情况下,您可以使用addTarget功能!只需在textField方法中将目标添加到viewDidload,然后添加标有@objc textFieldDidChange的选择器方法即可。在textFieldDidChange功能内,将文本设置为标签!

textfield.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)


@objc func textFieldDidChange(_ textField: UITextField) {
    currentPageLabel.text = textField.text
}

以上是关于textfielddid开始编辑时未更新标签的主要内容,如果未能解决你的问题,请参考以下文章

ng-class 在值更改时未正确更新

代码运行时未调用 Excel VBA 功能区 getEnabled

Cordova + Xcode 7.3 (html + Javascript) 在构建和模拟时未更改或更新

PyQt5 - 使用 Line Edit 从编辑窗口更新标签

UITableView 在插入/滚动时未更新

使用迁移到 Worklight 6.3 的现有 6.0.2 代码连接到本地时未在 Worklight 6.3 中获得更新