Solución
Aquí hay una solución / solución completa para este problema, ¡vote por favor la respuesta de Blld también porque esta era la información vital necesaria!
Títulos alternativos para ayudar a la búsqueda
- Mostrar el teclado Emoji como predeterminado para un objeto UIKeyInput (en iOS 13)
- Forzar iOS 13 para mostrar el teclado Emoji
- Configurar el
UITextInputMode.primaryLanguage
emoji - Programáticamente configurar el teclado en emoji
Antes de que ios13 devolviera el UITextInputMode
con primaryLanguage
ese "emoji" equivalente, se mostraría de forma predeterminada el teclado Emoji (ver imagen a continuación).
Código de ejemplo para devolver el "emoji" UITextInputMode
.
//
// ViewController.swift
// Keyboard Info
//
// Created by Richard Stelling on 30/09/2019.
// Copyright © 2019 Richard Stelling. All rights reserved.
//
import UIKit
class TestButton: UIButton, UIKeyInput {
var hasText: Bool = true
func insertText(_ text: String) { print("\(text)") }
func deleteBackward() {}
override var canBecomeFirstResponder: Bool { return true }
override var canResignFirstResponder: Bool { return true }
override var textInputMode: UITextInputMode? {
for mode in UITextInputMode.activeInputModes {
if mode.primaryLanguage == "emoji" {
return mode
}
}
return nil
}
}
Ejecutar este código en iOS 12 configurará el teclado en el sistema Emoji Keyboard, pero en iOS 13 no tiene ningún efecto.
¿Es esto un error conocido? ¿Hay alguna solución?
Actualizaciones
- Solicitado por @Navillus , la lista completa de "modos de entrada activa" es; "en-GB", "emoji"
- Probado y confirmado en; 13.0, 13.1, 13.1.1, 13.1.2 y 13.2 (semilla 1)