我注意到一种非常奇怪的行为。要键入元音变形元音,您必须首先键入一个死字符选项+ u,然后输入将是变音元素的实际元音,例如选项+ u然后'a'将打印ä。对于使用不同的死焦组合的重音等也是如此。
正常NSTextField接受这些字符没问题。但是NSSecureTextField只删除了死信,只接受了以下内容。而不是'ä'它只会得到'a',因为它掉了选项+你。如果你有一个mac,你可以在任何系统密码字段上实际尝试。而不是密码中的任何元音,只需使用相应的死字符组合键入重音或变音符号。密码将匹配,因为已丢弃死信。
现在对于我的应用程序来说这是完全不可接受的,因为我正在处理在Windows和Linux上创建密码的实体,其中变音符号已经通过。由于我无法在Mac上的NSSecureTextField中键入变音符号,因此即使我知道它,也无法提供正确的密码!
问题是之前有没有人遇到过这个问题?怎么解决这个问题?谷歌搜索发现了一些没有答案的邮件列表问题:http://lists.apple.com/archives/student-dev/2006/Apr/msg00052.html和http://lists.apple.com/archives/cocoa-dev/2008/Oct/msg02369.html
答案 0 :(得分:2)
我已将此作为一个错误提交给苹果开发者支持,虽然他们能够重现它,但他们表示不会修复它。对于我的应用程序,我必须实现我自己的密码字段,模仿NSSecureTextField的行为(项目符号,碳安全输入模式等)。所以我认为这是你能得到的唯一解决方法 - 推出自己的密码字段。