Teclado personalizado iOS 8

Estoy tratando de build un keyboard personalizado, es como un keyboard emoji, pero los datos del keyboard provienen de un file json. Después de analizar este file json y get los datos, ¿cómo hacer que el keyboard personalizado lo use y se muestre en la vista del keyboard, como el keyboard emoji que incorporó? En este momento, sigo el keyboard de la extensión de la aplicación: guía personalizada del keyboard, y aquí solo hay pequeños fragments de información. ¿Hay algún tutorial o guía sobre cómo crear un keyboard emoji personalizado en línea? Los códigos actuales que estoy probando están a continuación:

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) } } 

El json como a continuación:

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

Puede crear un file xib haciendo clic en nuevo file -> ver

1) dentro del file xib cree una uiview 320×216 y puede drag and drop cualquier control que desee en él

2), entonces puede cargar la punta de este tipo en el InputView de su keyboard:

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

3) Creo que es increíble si construyes un JSON para keyboard, si mandas un JSON del map del keyboard a tu aplicación y la aplicación sabe cómo organizar las keys en el InputView en consecuencia

¡Avísanos si construyes este proyecto!

EDITAR:

4) La mayor parte de lo que necesita hacer es analizar el JSON y mostrar el contenido que desea de los usuarios de JSON, y también decidir qué text están insertando en el campo de text

consulta esta pregunta: ¿Cómo analizar un file JSON en swift?

¡Buena suerte!

En primer lugar, debes crear tu interfaz de usuario para el keyboard en KeyboardViewController. Depende de usted cómo lo personaliza, agrega botones, vistas, gestos, etc. (Por cierto, la altura de la vista es limitada, al tamaño estándar de la altura del keyboard, así que no trate de hacerlo más alto, no dibujará) Plantilla que se genera es solo una muestra para mostrar cómo puedes poner un solo button en él. Después de configurar su interfaz de usuario, asegúrese de tener el button Siguiente del keyboard que se requiere.

En cuanto a Emoji , no son imágenes reales, son solo caracteres unicode que más tarde se replaceon con imágenes por sistema. Por lo tanto, no puede pasar imágenes, la única input que puede proporcionar es 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

Se pueden encontrar más detalles aquí https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html .