Пользовательская клавиатура 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

    Доступен ли их любой SDK для проверки подлинности LDAP iOS?

    Заголовок просмотра коллекции не отображается

    Насколько безопасна информация за пределами экрана?

    Панель UINavigationController охватывает содержимое своего uiviewcontroller

    бесконечный цикл, пытающийся создать пользовательский вид из xib в IB

    Завершение приложения из-за неработающих сбоев приложений при использовании набора речей ios

    Как разрешить AVCaptureSession v конфликт AVAudioSession в iOS?

    Команда Xcode / usr / bin / codesign завершилась с кодом выхода 1: errSecInternalComponent

    Сохраняет ли SKShapeNode память?

    как сделать прямоугольник во время выполнения, чтобы соответствовать перетаскиваемой метке слов в нем.

    Как я могу программно захватить скриншот воспроизводимого видео?

    Как улучшить отображение переменных, являющихся объектами в отладчике xcode 4.5 (noob)

    Мое приложение простое приложение рушится

    Измените яркость кнопки TabBar (не на изображении, скрывающем оттенок кнопки)

    изображение не отображается на стартовом экране

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