TextField 委托 shouldChangeCharactersInRange

TextField delegate shouldChangeCharactersInRange

为什么 shouldChangeCharactersInRange 不立即更新文本字段。延迟一个字符为1。

例如,下载此文件:https://www.dropbox.com/s/goljs3d6lcxutxy/UITextField%20Tutorial.zip?dl=0

将以下代码添加到

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

方法

print(textField.text)

看看它是如何延迟一个字符的。我希望它在我键入文本时更新,而不是延迟。

该方法询问您是否应该将 replacementString 添加到 textField.text 上。在您按下键盘上的某个键后、字母出现在屏幕上之前立即调用它。

要查看新字符串是什么,您需要执行以下操作。

let newText = textField.text.stringByReplacingCharactersInRange(range, withString: string)
print(newText)