Решение
Вот полное решение / обходной путь для этой проблемы, пожалуйста, проголосуйте также за ответ Blld, потому что это была необходимая информация!
Альтернативные названия, чтобы помочь поиску
- Отображение клавиатуры Emoji по умолчанию для объекта UIKeyInput (в iOS 13)
- Заставьте iOS 13 показать клавиатуру Emoji
- Настройка
UITextInputMode.primaryLanguage
смайликов - Программно установить клавиатуру на смайлики
До ios13 Возвращая UITextInputMode
с primaryLanguage
этими составившими «смайликами» по умолчанию будет показывать клавиатуры Emoji (смотрите изображение ниже).
Пример кода для возврата "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
}
}
Запуск этого кода на iOS 12 приведет к установке клавиатуры на систему Emoji Keyboard, но на iOS 13 это никак не повлияет.
Это известная ошибка? Есть ли обходной путь?
Обновления
- Запрашивается @Navillus , полный список «активных режимов ввода»: "en-GB", "emoji"
- Проверено и подтверждено на; 13.0, 13.1, 13.1.1, 13.1.2 и 13.2 (семя 1)