Lösung
Hier ist eine vollständige Lösung / Problemumgehung für dieses Problem. Bitte stimmen Sie auch die Antwort von Blld ab , da dies die entscheidende Information war, die benötigt wurde!
Alternative Titel zur Unterstützung der Suche
- Anzeigen der Emoji-Tastatur als Standard für ein UIKeyInput-Objekt (in iOS 13)
- Erzwingen Sie, dass iOS 13 die Emoji-Tastatur anzeigt
- Setzen Sie das
UITextInputMode.primaryLanguage
auf Emoji - Stellen Sie die Tastatur programmgesteuert auf Emoji ein
Vor ios13 der Rückkehr UITextInputMode
mit primaryLanguage
dieser entsprach „Emoji“ zu zeigen , die Emoji - Tastatur Standard würde (siehe Bild unten).
Beispielcode für die Rückgabe des "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
}
}
Wenn Sie diesen Code unter iOS 12 ausführen, wird die Tastatur auf die Emoji-Tastatur des Systems eingestellt, unter iOS 13 hat dies jedoch keine Auswirkungen.
Ist das ein bekannter Fehler? Gibt es eine Problemumgehung?
Aktualisierung
- Von @Navillus angefordert , ist die vollständige Liste der "aktiven Eingabemodi"; "en-GB", "emoji"
- Getestet und bestätigt am; 13.0, 13.1, 13.1.1, 13.1.2 und 13.2 (Startwert 1)