所有,
我遇到了这个问题,对于具有secureTextEntry = YES的UITextField,我无法显示任何UTF-8键盘(日语,阿拉伯语等),只有非UTF-8键盘(英语,法语等). .我在谷歌,这个网站和Apple开发论坛上做了很多搜索并看到其他人有同样的问题,但是没有实现我自己的UITextField,似乎没有人有一个合理的解决方案或答案是否这是一个bug或预期的行为.
我遇到了这个问题,对于具有secureTextEntry = YES的UITextField,我无法显示任何UTF-8键盘(日语,阿拉伯语等),只有非UTF-8键盘(英语,法语等). .我在谷歌,这个网站和Apple开发论坛上做了很多搜索并看到其他人有同样的问题,但是没有实现我自己的UITextField,似乎没有人有一个合理的解决方案或答案是否这是一个bug或预期的行为.
如果这是预期的行为,为什么?是否有标准,白皮书,我可以查看的某个地方,然后指向我去我的产品经理并说我们不能支持UTF-8密码?
谢谢,
解决方法
我无法在Apple的文档中找到任何解释为什么会出现这种情况的内容,但在创建测试项目之后,确实看起来确实如此.我猜想,对于使用复合字符的任何语言,我都不允许使用安全文本输入,因为它会使字符输入变得困难.
例如,对于日语输入,是否应该在键入后隐藏每个假名字符?或者只是汉字字符?如果是后者,字符保留在屏幕上的时间长度足够长,使得安全输入几乎没有实际意义.与使用复合输入法的其他语言类似.
This post includes code for manually implementing your own secure input behaviour.