TextField委托shouldChangeCharactersInRange

时间:2015-11-16 22:00:38

标签: swift uitextfield uitextfielddelegate

为什么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)

看看它是如何延迟一个角色的。我希望它更新,因为我输入的文字不是延迟的。

1 个答案:

答案 0 :(得分:1)

该方法询问您是否应该使用replacementString并将其添加到textField.text。在您按下键盘上的键并且字母出现在屏幕上之前,会立即调用它。

要查看新字符串的内容,您需要这样的内容。

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