Вопрос по uikit, ios, uikeyboard, emoji, uikeyboardtype – изменить раскладку клавиатуры на смайлики

2

Можно ли изменить раскладку клавиатуры на эмодзи, когда UITextField становится первым респондентом? или в соответствии с действием пользователя, например, нажав UIButton

я знаю, что могу изменить раскладку клавиатуры на одну из них

typedef enum {
UIKeyboardTypeDefault,                // Default type for the current input method.
UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
UIKeyboardTypeNumberPad,              // A number pad (0-9). Suitable for PIN entry.
UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).

UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated

} UIKeyboardType;

Мне интересно, есть ли способ сделать то же самое с макетом смайликов?

ну, это не то, что я пытаюсь сделать, я не хочу создавать пользовательскую клавиатуру или включать клавиатуру emoji по всей iOS, я просто хочу, чтобы мое приложение ее использовало! ahmad
Похоже, вы не можете видеть эту ссылкуstackoverflow.com/questions/6824381/… Gerald Versluis
ммм хорошо понял! но я не уверен. не все пользователи iOS-устройств могут самостоятельно понять, что на самом деле скрытая клавиатура для смайликов! Я создаю приложение для чата и хочу, чтобы пользователь мог использовать эту функцию, и кажется, что ею могут пользоваться только пользователи с предыдущими знаниями по клавиатуре Emoji. ahmad
Emoji - это не раскладка клавиатуры, это настоящая клавиатура. Только пользователь может решить, какую клавиатуру он хочет использовать, и какую клавиатуру он использует в настоящее время. Jason Coco

Ваш Ответ

1   ответ
14

class EmojiTextField: UITextField {

    override var textInputMode: UITextInputMode? {
        for mode in UITextInputMode.activeInputModes {
            if mode.primaryLanguage == "emoji" {
                return mode
            }
        }
        return nil
    }
}

В IB выберите этот класс как пользовательский класс вместо UITextField.

Это заставляет клавиатуру выбирать эмодзи-клавиатуру, если она доступна, когда поле становится первым респондентом. Пользователь, конечно, может в любое время заменить клавиатуру на что-нибудь еще, но, по крайней мере, это дает начальный выбор того, что вы хотите.

Полезный трюк, спасибо человек
Это просто идеально
да, это !!! 11!

Похожие вопросы