作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到一个非常奇怪的行为。要输入变音元音,您必须首先输入死字符选项 + u,然后输入将成为变音元音的实际元音,例如选项 + u,然后“a”将打印 ä。对于重音等也是如此,只是使用不同的死字符组合。
正常的 NSTextField 接受这些字符没有问题。但 NSSecureTextField 只是删除死字符并只接受后面的内容。它只会得到 'a' 而不是 'ä',因为它删除了选项 + u。如果您有 Mac,您实际上可以在任何系统密码字段上尝试此操作。密码中不需要使用任何元音,只需使用相应的死字符组合输入重音或元音变音即可。密码将匹配,因为死字符已被删除。
现在,对于我的应用程序来说,这是完全 Not Acceptable ,因为我正在处理使用在 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
最佳答案
我已将此作为错误提交给苹果开发人员支持,尽管他们能够重现它,但他们表示不会修复它。对于我的应用程序,我必须实现自己的密码字段,模仿 NSSecureTextField 的行为(项目符号、碳安全输入模式等)。所以我认为这是您可以获得的唯一解决方法 - 推出您自己的密码字段。
关于cocoa - NSSecureTextField 和死字符(元音变音等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7318068/
我是一名优秀的程序员,十分优秀!