2011-07-04 6 views
1

私はMac OS上でインプットメソッドを開発しています。今私は問題があります。 現在の入力テキストフィールドがパスワード用の場合は、入力モードを英語に切り替える必要があります。しかし、私はチェックを行う方法を知らない。現在の入力フィールドがパスワードフィールドであることをどのように知ることができますか?ココアでは、テキストフィールドを確認する方法はパスワードです

答えて

0

NSSecureTextFieldCells通常のテキストフィールドとは異なるテキスト入力を処理します。デフォルトでは、ローマ字のみを許可するように設定されています。ユーザーがこのフィールドにフォーカスを移すと、キーボード入力選択からIMEや他の形式を無効にして、問題ではないはずです。

+0

ありがとうございました。しかし問題は、MacOSのloginwindowのようにRomanだけでなく文字フィールドもテキストフィールドに入力できることです。現在の編集フィールドがパスワード用かどうかを確認するいくつかの方法を知りたい。 – gang

2

NSSecureTextFieldCellsは単にローマ字のキーボードを許可すると考えられているので、何もする必要はありません。しかし、Mac OS X 10.6にはバグがあります。入力メソッドのInfo.plistファイルにTISIntendedLanguage設定が含まれていない場合、セキュアなテキストフィールドは入力メソッドがローマ字入力ソースではないことを伝えることができません。

あなたの行う必要があるのは、Info.plistファイルに次の行を追加することです。私は繁体字中国語を取っています。あなたの言語設定に「zh-Hant」を変更してください。

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

入力方式のAppのInfo.plistに内容以下の追加は、その後、入力方法は、パスワードテキストフィールドで使用することができます:

<key>tsInputMethodCharacterRepertoireKey</key> 
<array> 
    <string>Latn</string> 
</array> 
関連する問題