почему я не могу использовать secureTextEntry с клавиатурой UTF-8? - PullRequest
3 голосов
/ 30 марта 2012

Все, Я столкнулся с этой проблемой, когда для UITextField, который имеет secureTextEntry = YES, я не могу получить какие-либо клавиатуры UTF-8 (японские, арабские и т. Д.) Для отображения, только те, которые не UTF-8 делают (английский, французский и т. Д.) , Я много занимался поиском в Google, на этом сайте и на форумах разработчиков Apple, и видел других людей с такой же проблемой, но, кроме реализации моего собственного UITextField, ни у кого, похоже, нет разумного решения или ответа на вопрос, является ли это ошибкой. или предполагаемое поведение.

А если это предполагаемое поведение, то почему? Есть ли какой-то стандартный документ, где-то где-то, на который я могу посмотреть, а затем указать, когда я иду к своему менеджеру по продукту и говорю, что мы не можем поддерживать пароли UTF-8?

благодарение,

1 Ответ

3 голосов
/ 30 марта 2012

Мне не удалось найти что-либо в документации Apple, чтобы объяснить, почему это так, но после создания тестового проекта это действительно так и есть. Я предполагаю, что безопасный ввод текста запрещен для любого языка, использующего составные символы, потому что это затруднит ввод символов.

Например, для ввода на японском языке должен ли каждый символ кана быть скрытым после его ввода? Или просто символы кандзи? Если последнее, то время, в течение которого символы остаются на экране, достаточно велико, что делает безопасный ввод почти спорным. Аналогично для других языков, использующих композитные методы ввода.

Этот пост содержит код для ручной реализации собственного безопасного ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...