首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >默认情况下,在iOS 13上显示系统Emoji键盘

默认情况下,在iOS 13上显示系统Emoji键盘
EN

Stack Overflow用户
提问于 2019-09-30 12:33:37
回答 4查看 7.2K关注 0票数 19

溶液

这是一个关于这个问题的全面解决办法/工作,请投票给Blld的回答,因为这是所需的重要信息!

辅助搜索的替代标题

  • 将Emoji键盘显示为UIKeyInput对象的默认值(在iOS 13中)
  • 强制iOS 13显示Emoji键盘
  • UITextInputMode.primaryLanguage设置为emoji
  • 可编程地将键盘设置为emoji

ios13之前,返回与primaryLanguage相同的“表情符号”的UITextInputMode将默认显示Emoji键盘(见下图)。

返回"emoji“UITextInputMode的示例代码。

代码语言:javascript
运行
复制
//
//  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)
EN

Stack Overflow用户

发布于 2019-10-24 08:45:07

您需要在textinputcontextidentifier上设置textField,以便iOS知道在哪里保存自定义textInputMode

它不是在文档中写的,但它有效。

参考文献:https://developer.apple.com/documentation/uikit/uiresponder/1621091-textinputcontextidentifier

票数 9
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58168017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档