为什么我不能用UTF-8键盘使用secureTextEntry?

所有,我碰到这个问题的地方,有一个UITextField有secureTextEntry = YES,我不能得到任何UTF-8键盘(日文,阿拉伯文等)显示,只有非UTF-8的(英文,法文等)。 我在Google上,在这个网站上以及在Apple开发论坛上都做了很多search,看到其他人也遇到同样的问题,但是没有实现我自己的UITextField,似乎没有任何合理的解决scheme或答案,或预期的行为。

如果这是有意的行为,为什么呢? 是否有标准,白皮书,某些我可以查看的地方,然后指向我的产品经理并说我们无法支持UTF-8密码?

谢谢,

我无法在苹果的文档中find任何解释为什么会这样的情况,但是在创build一个testing项目之后,确实如此。 猜测,我想使用复合字符的任何语言都不允许使用安全文本input,因为这会使字符input变得困难。

例如,对于日语input,每个假名字符在input后是否应该隐藏? 还是只有汉字字符? 如果是后者,时间字符在屏幕上的时间长度足够长,使得安全input几乎没有意义。 对于使用复合input法的其他语言也是如此

这篇文章包括手动实现您自己的安全input行为的代码。