ios - 漏洞? UITextFieldDelegate 的 UILabel 实时更新被一个字符关闭

标签 ios swift uitextfield uilabel uitextfielddelegate

这是一个示例应用程序,用于演示我遇到的问题:

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
    }
}

这是一个演示:

Link to Animated Gif

我的问题是,如何使标签与我在文本字段中键入的内容完全同步?谢谢!

最佳答案

除了使用委托(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
    }
}

enter image description here

关于ios - 漏洞? UITextFieldDelegate 的 UILabel 实时更新被一个字符关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44961748/

相关文章:

ios - 使用 nsset 键值对数组进行排序

objective-c - 进入uitextview,UITextView,ios中的第二行

ios - swift 分数标签 Xcode 6

swift - 如何保存 textField.text 数据并在 View Controller 之间移动时持久保存它们?

iphone - 如何隐藏 iOS 数字键盘

iphone - 调用 obtainPermanentIDsForObjects 时获取线程错误

iphone - 编程内存警告 ios

iphone - 刷新通知中心内的 View Controller 类

sockets - 如何测试我的远程套接字 NSStream 是否正确打开

ios - '找到一个 uxexpected Mach-O 头代码 : 0x72613c21' when trying to export an archive to IPA.