解
这是针对此问题的完整解决方案/解决方法,也请投票Blld的答案,因为这是所需的重要信息!
辅助搜索的替代标题
- 将Emoji键盘默认显示为UIKeyInput对象(在iOS 13中)
- 强制iOS 13显示表情符号键盘
- 将
UITextInputMode.primaryLanguage
表情符号设置为 - 以编程方式将键盘设置为表情符号
此前ios13返回UITextInputMode
与primaryLanguage
那等于“表情符号”将默认为显示表情符号键盘(见下图)。
返回“表情符号”的示例代码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键盘,但在iOS 13上则无效。
这是一个已知的错误?有解决方法吗?
更新
- 由@Navillus请求,“活动输入模式”的完整列表为;“ en-GB”,“ emoji”
- 经过测试并确认;13.0、13.1、13.1.1、13.1.2和13.2(种子1)