iOS具有内置功能,用户可以在
中设置文本替换设置>一般>键盘>文字替换
在我的Swift iOS应用程序的UITextField中,我需要知道用户何时使用此文本替换,以便我可以采取适当的措施。我的直觉是使用
func textField(tf: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
但有趣的是,在这种文本替换时没有调用此函数,还有其他方法可以解决这个问题吗?
答案 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
)。
一旦你看到这个工作,你当然可以识别文本扩展并按照你想要的任何方式处理。