这是一个示例应用程序,用于演示我遇到的问题:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var aTextField: UITextField!
@IBOutlet weak var aTextLbl: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
aTextField.delegate = self
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
aTextLbl.text = aTextField.text
return true
}
}
这是一个演示:
我的问题是,如何使标签与我在文本字段中键入的内容完全同步?谢谢!
最佳答案
除了使用委托(delegate)方法 shouldChangeCharactersIn
,您还可以使用 EditingChanged
,如下所示。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var aTextLbl: UILabel!
@IBOutlet weak var aTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func editingChanged(_ sender: UITextField) {
aTextLbl.text = aTextField.text
}
}
关于ios - 漏洞? UITextFieldDelegate 的 UILabel 实时更新被一个字符关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44961748/