Отключить стороннюю клавиатуру для указания c UITextField в iOS - PullRequest
0 голосов
/ 07 мая 2020

У меня есть требование, согласно которому мне нужно отключить отображение сторонних клавиатур (например, Gboard от Google) в пользовательском интерфейсе, если указан c набор UITextField. Мне нужно сделать это для чувствительных полей ввода, таких как поле электронной почты, поле кредитной карты.

Из документации мне удалось реализовать следующий код

func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplication.ExtensionPointIdentifier) -> Bool {

        if extensionPointIdentifier == .keyboard {

            if vc.dontShowCustomKeyboard {
                return false
            }
        }
        return true
    }

Я возвращаю false, если представление Контроллер имеет логическое значение, которое говорит не использовать настраиваемую клавиатуру. Но какое-то время я действительно вижу, как появляется настраиваемая клавиатура, хотя я возвращаю bool. Это правильно работает впервые. После этого, если я подключу go к другому контроллеру, коснитесь любого текстового поля в этом контроллере (предположим, что он поддерживает настраиваемую клавиатуру) и вернитесь и выберите поле в 1-м контроллере, появится настраиваемая клавиатура.

Я не уверен, почему это происходит. Есть ли у кого-нибудь какие-либо материалы, пожалуйста, поделитесь. Спасибо.

...