Пользовательская клавиатура iOS 8

Я пытаюсь создать пользовательскую клавиатуру, это как клавиатура emoji, но данные клавиатуры – из json-файла. После анализа этого json-файла и получения данных, как заставить пользовательскую клавиатуру использовать его и показать в виде клавиатуры, например, встроенную клавиатуру emoji? Прямо сейчас я следую за клавиатурой расширения приложения: руководство по пользовательской клавиатуре, и здесь есть только небольшие фрагменты информации. Есть ли учебник или руководство о том, как создать пользовательскую клавиатуру emoji онлайн? Текущие коды, которые я пытаюсь сделать, приведены ниже:

class KeyboardViewController: UIInputViewController { override func viewDidLoad() { super.viewDidLoad() var error: NSError? let yanFile = NSBundle.mainBundle().pathForResource("yan", ofType: "json") let yanData = NSData(contentsOfFile: yanFile) as NSData let yanDict = NSJSONSerialization.JSONObjectWithData(yanData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary println("dict: \(yanDict)") //print nothing in console // Perform custom UI setup here self.nextKeyboardButton = UIButton.buttonWithType(.System) as UIButton self.nextKeyboardButton.setTitle(NSLocalizedString("Next Keyboard", comment: "Title for 'Next Keyboard' button"), forState: .Normal) } } 

Json, как показано ниже:

 { "list": [ { "tag": "laugh", "yan": [ "o(*≧▽≦)ツ┏━┓", "(/≥▽≤/)", "ヾ(o◕∀◕)ノ" ] }, { "tag": "wanna", "yan": [ "✪ω✪", "╰(*°▽°*)╯", "≖‿≖✧", ">ㅂ<", "ˋ▽ˊ", "✪ε✪", "✪υ✪", "ヾ (o ° ω ° O ) ノ゙", "(。◕ˇ∀ˇ◕)", "(¯﹃¯)" ] } ] } 

    2 Solutions collect form web for “Пользовательская клавиатура iOS 8”

    Вы можете создать xib-файл, щелкнув новый файл -> view

    1) внутри xib-файла создайте uiview 320×216, и вы можете перетащить все элементы управления, которые вы хотите в него

    2), тогда вы можете загрузить такой наконечник, как это, в inputView вашей клавиатуры:

     // Perform custom UI setup here UIView *layout = [[[NSBundle mainBundle] loadNibNamed:@"keyboardXib" owner:self options:nil] objectAtIndex:0]; [self.inputView addSubview:layout]; 

    3) Я думаю, что это потрясающе, если вы создаете JSON на клавиатуре api, вы отправляете JSON на клавиатурной карте в свое приложение, и приложение знает, как расположить ключи на inputView соответственно

    сообщите нам, строите ли вы этот проект!

    РЕДАКТИРОВАТЬ:

    4). Большая часть того, что вам нужно сделать, – это разобрать JSON и отобразить содержимое, которое вы хотите, с помощью UIBUTtons JSON, а также решить, какой текст они вставляют в текстовое поле

    проверьте этот вопрос: как быстро разбить файл JSON?

    Удачи!

    Прежде всего, вам нужно создать свой интерфейс для клавиатуры в KeyboardViewController. Это зависит от вас, как вы его настраиваете, добавляете кнопки, представления, жесты и т. Д. (Кстати, высота просмотра ограничена, стандартная высота клавиатуры, поэтому не пытайтесь сделать ее выше, она не будет рисоваться) Шаблон который генерируется, это просто образец, чтобы показать, как вы можете поместить в него одну кнопку. После того, как вы настроите свой интерфейс, убедитесь, что у вас есть клавиша Next Keyboard .

    Что касается Emoji , это не реальные изображения, они всего лишь символы Unicode, которые позже заменяются изображениями с помощью системы. Таким образом, вы не можете передавать изображения, единственный вход, который вы можете предоставить, – это NSString [self.textDocumentProxy insertText:@"hello "]; // Inserts the string "hello " at the insertion point [self.textDocumentProxy insertText:@"hello "]; // Inserts the string "hello " at the insertion point

    Более подробную информацию можно найти здесь https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html .

    Interesting Posts

    Sprite Kit – SKShapeNode Путь не рисовать Квадратная кривая

    Любой пример плейлиста m3u8 для использования тега EXT-X-MAP

    Изменение типа шрифта и размера строки заголовка UIActionSheet

    iOS: обработка загруженных данных внутри приложения iOS

    Как установить выравнивание по левому краю для UILabel для приложения iOS?

    Общее использование платформы учетных записей в iOS

    iOS: телефонный номер не работает

    Ошибка Apple Mach-O Librarian, флаги недействительны: -ObjC

    Есть ли способ по-прежнему работать на iPhone 5 с XCode 4

    Как скрыть клавиатуру, не закрывая диалоговое окно с помощью Appium для IOS?

    Как работает loadNibNamed? Выходы UIView не инициализируются с помощью loadNibNamed

    Checkmark принят во всех 23 странах на том же месте. Но как я могу установить его для одного места

    После создания nsmutablearray следует преобразовать его в nsarray для повышения производительности?

    iOS 8.3 Сбой Safari при вводе type = file

    Подключаются ли наушники? IOS 7

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.