Как я могу добавить цифровую и десятичную клавиатуру в свою пользовательскую клавиатуру на iOS8?

Я создал пользовательскую клавиатуру в Swift, но она была отклонена из App Store, потому что: «расширение клавиатуры не включает числовые и десятичные типы».

Как я могу легко добавить эти две клавиатуры?

Я попытался восстановить исходный вид, но он не работает должным образом. Я уверен, что есть решение для создания 2 или 3 разных представлений и переключения между ними.

Как я могу переключаться между типами клавиатуры при изменении типа клавиатуры?


person ababab5    schedule 08.10.2014    source источник


Ответы (1)


Вы можете обнаружить изменения типа клавиатуры в textDidChange. Вам нужно получить UITextDocumentProxy, затем определить keyboardType прокси-сервера, а затем вы можете сделать все необходимые изменения макета.

override func textDidChange(_ textInput: UITextInput?) {
    // Called when the document context is changed - theme or keyboard type changes

    let proxy = self.textDocumentProxy as UITextDocumentProxy
    if proxy.keyboardType == UIKeyboardType.numberPad
        || proxy.keyboardType == UIKeyboardType.decimalPad {
        //add code here to display number/decimal input keyboard
    }
}
person Jordan H    schedule 10.10.2014