UITextField切换中文输入,选中键盘中被mark的中文字符时,iOS7中UITextField不会调用如下协议方法:
|
|
解决方法:
1、利用通知中心监听UITextFieldTextDidChangeNotification。
|
|
当键盘中有mark的中文字符时,则根据UITextField实例方法markedTextRange可以获取开始位置以及长度,此时,只要没有选中被mark的字符时,textFiled.text 的 length是不会改变的。只有当选中被mark的字符时,markedTextRange返回的开始位置以及长度为0,则UITextPosition则为nil,此时说明textField.text 的 length改变。
2、通过KVO监听textField.text 的length。
从而可以达到在iOS7下监听UITextField输入框内字符变化。