【问题标题】:In cocoa, How to check a textfield is for password在可可中,如何检查文本字段是密码
【发布时间】:2011-09-27 23:47:21
【问题描述】:

我正在开发 Mac OS 上的输入法。现在我有一个问题。 如果当前输入文本字段用于密码,我需要将输入模式切换为英文。但我不知道如何进行检查。我如何知道当前输入字段是密码字段?

【问题讨论】:

    标签: objective-c cocoa input-method-kit


    【解决方案1】:

    NSSecureTextFieldCells 处理文本输入的方式与常规文本字段不同,默认设置为仅允许使用罗马字符。当用户将此字段设为焦点时,应从键盘输入选择中禁用 IME 和其他格式,因此这应该不是问题。

    【讨论】:

    • 谢谢。但问题是文本字段不仅允许输入罗马字符,例如MacOS的登录窗口。我想知道一些检查当前编辑字段是否为密码的方法。
    【解决方案2】:

    正如 squeeks 提到的,你不需要做任何事情,因为 NSSecureTextFieldCells 应该只允许罗马键盘。但是,Mac OS X 10.6 有一个 bug,如果您的输入法的 Info.plist 文件不包含 TISIntendedLanguage 设置,则安全文本字段无法判断您的输入法不是罗马输入源。

    您需要做的就是将以下行添加到您的 Info.plist 文件中。我以繁体中文为例,请将“zh-Hant”更改为您的语言设置。

    <key>TISIntendedLanguage</key>
    <string>zh-Hant</string>
    

    【讨论】:

      【解决方案3】:

      将以下内容附加到输入法应用程序的Info.plist,然后输入法可以在密码文本字段中使用:

      <key>tsInputMethodCharacterRepertoireKey</key>
      <array>
        <string>Latn</string>
      </array>
      

      【讨论】:

        猜你喜欢
        • 2019-05-28
        • 2014-07-17
        • 1970-01-01
        • 2017-05-13
        • 2020-06-08
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多