关于iOS默认中文输入法乱码的Bug解决记录

关于iOS默认中文输入法乱码的Bug解决记录

在工作中发现了一个这样的问题,我在项目中用中文输入法发表一个问题,但是中文输入法还没有确认,也就是还没有输入中文的时候,就会出现一个这样的问题,如图所示:

关于iOS默认中文输入法乱码的Bug解决记录_第1张图片

然后点击发表,提交数据给后台,退出编辑再查看的时候,结果就出现了?乱码问题,如下图:

Bug图片

这个问题困扰了我一段时间,问了公司搞iOS的同事,他们也不知道怎么解决,但是后来我发现当输入中文的时候似乎是选中状态,而在切换焦点的时候输入框会将输入转换成英文字母输入,于是就想到了在点击发表时先取消选择的解决方案,特在此记录一下,以免以后碰到同样的问题不知道如何处理:

UITextRange* textRange = [self.textView textRangeFromPosition:self.textView.beginningOfDocument toPosition:self.textView.beginningOfDocument];

[self.textView setSelectedTextRange:textRange];

[self.textView resignFirstResponder];

直接用UITextRange,将光标设置到最开始的位置,这样,文本框就会自动将中文输入未完成的字母转换成英文写入到文本框中了。

你可能感兴趣的:(iOS开发)