IOS 12 OTP клавиатура предложение - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь осуществить перенос одноразового кода из SMS в поле над клавиатурой, как на картинке.

Но по какой-то причине поле над клавиатурой не отображается.

Код: self.valueTextField.textContentType = UITextContentTypeOneTimeCode;

Иерархия пользовательского интерфейса:

+ UIView

  • CustomContentView
  • UIImageView
  • UITextField - valueTextField
  • UITextFieldContentView

Я прочитал эти материалы: soQuestion и apple docs , и я увидел предупреждение:

Если вы используете пользовательское представление ввода для текстового поля ввода кода безопасности, iOS не может отобразить необходимый интерфейс автозаполнения.

... но я не понимаю, что подразумевается под пользовательским представлением ввода.

Также у меня есть категория для UITextField.Может ли это повлиять на работу?

Буду рад любым идеям, спасибо!

1 Ответ

0 голосов
/ 15 октября 2018

Хорошо.Это то, что я мог узнать.Что касается кода, то достаточно того, что я описал выше.Дополнительные настройки на клиенте не требуются.Но нужно обратить внимание на текст смс-сообщения.В качестве примера я приложил два сообщения.

first pic В первом сообщении наш код определяется системой как номер телефона.Мы можем даже позвонить, если нажмем на него.Но зачем нам вызывать одноразовый код?:)

second pic На втором изображении код определен как единовременный, именно то, что нам нужно.Если щелкнуть по нему, система предложит скопировать его в буфер обмена.

В чем разница?К сожалению, не совсем понятно, по какому правилу текст разбирается в СМС.Но мы можем проверить ваш текст следующим образом:

Если вы установили свойство textContentType для своего текстового поля, и у вас ничего не работает, в первую очередь вам нужно проверить, определяет ли код операционная системаправильно.Для этого просто перейдите в приложение сообщений и проверьте код:

  1. синий цвет шрифта с подчеркиванием - система не распознала одноразовый код.
  2. черный цвет шрифта (по умолчанию) с серым подчеркиванием - ничего страшного!

В конце, в первом случае, вы должны проверить текст сообщения на наличие неверных символов.

PS Просто пара примеров правильных и неправильных СМС:

  • СМС-код: 12345 £, правильный
  • СМС-код: 12345 $, правильный
  • СМС-код: 12345 № правильный
  • SMS-код №1: 12345 неправильный
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...