Giải pháp
Đây là một giải pháp đầy đủ / giải quyết vấn đề này, vui lòng bỏ phiếu cho câu trả lời của Blld vì đây là thông tin quan trọng cần thiết!
Tiêu đề thay thế để hỗ trợ tìm kiếm
- Hiển thị bàn phím Emoji làm mặc định cho đối tượng UIKeyInput (trong iOS 13)
- Buộc iOS 13 hiển thị bàn phím Emoji
- Đặt
UITextInputMode.primaryLanguage
biểu tượng cảm xúc - Lập trình đặt bàn phím thành biểu tượng cảm xúc
Trước ios13 trả lại UITextInputMode
với primaryLanguage
điều đó tương đương "biểu tượng cảm xúc" sẽ mặc định hiển thị bàn phím Emoji (xem hình dưới đây).
Mã ví dụ để trả về "biểu tượng cảm xúc" 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
}
}
Chạy mã này trên iOS 12 sẽ đặt bàn phím thành Bàn phím Emoji của hệ thống, nhưng trên iOS 13 thì không ảnh hưởng gì.
Đây có phải là một lỗi được biết đến? Có một cách giải quyết?
Cập nhật
- Được yêu cầu bởi @Navillus , danh sách đầy đủ của "chế độ đầu vào hoạt động" là; "en-GB", "biểu tượng cảm xúc"
- Đã thử nghiệm và xác nhận trên; 13.0, 13.1, 13.1.1, 13.1.2 và 13.2 (hạt 1)