Почему NSSecureTextField НЕ поддерживает строки в некоторых языках?
Я заметил, что не могу ввести русский или арабский текст в NSSecureTextField
,
Если моя клавиатура установлена на русский язык, например, как только я нажму на NSSecureTextField,
моя клавиатура автоматически меняется на английский, который затем возвращается к русскому, когда я существую NSSecureTextField.
Точно так же я не могу установить клавиатуру на арабский, пока NSSecureTextField
активен
Там может быть больше языков, кроме арабского и русского.
Почему не NSSecureTextField
поддержка паролей на некоторых языках? Есть ли проблемы с безопасностью? Это сломает OSX Keychain?
Мне нужно знать, чтобы, если я переопределил это поведение, я знал о возможных побочных эффектах.
Во-вторых, есть ли обычай NSSecureTextField
как управление, которое поддерживает все языки? Мой поиск вернул ноль.
1 ответ
NSSecureTextField
ограничивает доступные методы ввода, чтобы избежать отображения текста пароля в виде встроенного текста или в окне редактирования. Это также отключает некоторые комбинации "мертвой клавиши" с несколькими клавишами, используемые, например, для ввода ударных символов.
О методах ввода
Некоторые методы ввода отображают ваш ввод в промежуточной форме перед его фиксацией, чтобы позволить вам выполнять специфичные для языка или системы системные операции, которые специально интерпретируют щелчки и ввод с клавиатуры при вводе текста. Некоторые отображают текст "встроенный" в текстовом представлении, где текст в конечном итоге заканчивается, а некоторые отображают промежуточный ввод в отдельном плавающем окне.
Например, метод ввода Hiragana для японского языка отображает встроенный текст, в котором вы можете выбрать различные интерпретации ввода перед его фиксацией в текстовом содержимом. Другой пример - при вводе акцентированных символов через "мертвые клавиши", где вы сначала вводите ударение, а затем базовую клавишу: ударение отображается в виде встроенного текста, выделенного желтым цветом.