Swift:在UITextField中检测iOS键盘文本替换

时间:2016-04-09 17:15:34

标签: ios swift uitextfield

iOS具有内置功能,用户可以在

中设置文本替换
  

设置>一般>键盘>文字替换

在我的Swift iOS应用程序的UITextField中,我需要知道用户何时使用此文本替换,以便我可以采取适当的措施。我的直觉是使用

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

但有趣的是,在这种文本替换时没有调用此函数,还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我在此设置中测试了shouldChangeCharactersInRange功能,它确实看到了文本扩展。我测试了:

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

        print(string.characters.count)

        return true
  }

您可以在文本扩展后立即观看字符数跳转。

确保您的textField与IBOutlet相关联,并且您已将该类设置为委托(textField.delegate = self中的viewDidLoad)。

一旦你看到这个工作,你当然可以识别文本扩展并按照你想要的任何方式处理。