Rozwiązanie
Oto pełne rozwiązanie / obejście tego problemu, proszę również głosować na odpowiedź Bllda, ponieważ była to niezbędna niezbędna informacja!
Alternatywne tytuły ułatwiające wyszukiwanie
- Wyświetlanie domyślnej klawiatury Emoji dla obiektu UIKeyInput (w iOS 13)
- Wymuś iOS 13, aby wyświetlić klawiaturę Emoji
- Ustawienie
UITextInputMode.primaryLanguage
emoji - Programowo ustaw klawiaturę na emoji
Przed ios13 zwracanie UITextInputMode
z primaryLanguage
tym równym „emoji” domyślnie pokazywałoby klawiaturę Emoji (patrz obrazek poniżej).
Przykładowy kod zwracający „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
}
}
Uruchomienie tego kodu w systemie iOS 12 spowoduje ustawienie klawiatury na systemową klawiaturę Emoji, ale w systemie iOS 13 nie ma to wpływu.
Czy to znany błąd? Czy jest w pobliżu praca?
Aktualizacje
- Na żądanie @Navillus pełna lista „aktywnych trybów wprowadzania” jest następująca; „en-GB”, „emoji”
- Testowane i potwierdzone dnia; 13.0, 13.1, 13.1.1, 13.1.2 i 13.2 (materiał siewny 1)