Soluzione
Ecco una soluzione completa / aggirare il problema, per favore vota anche la risposta di Blld perché questa era l'informazione vitale necessaria!
Titoli alternativi per facilitare la ricerca
- Visualizzazione della tastiera Emoji come predefinita per un oggetto UIKeyInput (in iOS 13)
- Forza iOS 13 a mostrare la tastiera Emoji
- Impostando
UITextInputMode.primaryLanguage
su emoji - Imposta programmaticamente la tastiera su emoji
Prima di iOS 13 la restituzione UITextInputMode
di primaryLanguage
"emoji" equivaleva a mostrare la tastiera Emoji (vedi immagine sotto).
Codice di esempio per restituire "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
}
}
L'esecuzione di questo codice su iOS 12 imposterà la tastiera sul sistema Emoji Keyboard, ma su iOS 13 non ha alcun effetto.
È un bug noto? C'è una soluzione?
aggiornamenti
- Richiesto da @Navillus , l'elenco completo delle "modalità di input attive" è; "en-GB", "emoji"
- Testato e confermato il; 13.0, 13.1, 13.1.1, 13.1.2 e 13.2 (seme 1)