zoukankan      html  css  js  c++  java
  • iOS thirdKeyboard Develop (APP Extension)

    如果需要开发第三方键盘 首先得了解一下苹果官方文档  https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

       然后建议看一下 APPExtension

      http://www.cocoachina.com/ios/20140918/9677.html

      键盘应用属于你的hostAPP 所以如果你要了解appGroups来做到两个应用间信息传输 

      使用方法

       NSUserDefaults *keyboarddefaults = [[NSUserDefaults alloc] initWithSuiteName:appGroups];

       appGroups是我们设置的字段 与添加appGroup的字段一致

       xcode会给我们生成keyboard的类 在这个类 我们可以做第三方键盘 

       1.这个类中建议用autolayout做约束 

       2.

        CGFloat _expandedHeight = 256;

        NSLayoutConstraint *_heightConstraint = [NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute   multiplier:0 constant: _expandedHeight];

        

        [self.view addConstraint: _heightConstraint];  

        该方法可以设置键盘高度

        我遇到的问题:在updateContraint 中调用无效 

        3. 输入文字:调用协议方法 textDocumentProxy.

       - (BOOL)hasText;

       - (void)insertText:(NSString *)text; //输入文字

       - (void)deleteBackward;//删除文字

       我们的键盘如果要通过审核 就必须要有一个下一个输入法的按钮 参照原生的那个地球按钮

       调用

    - (void)advanceToNextInputMode 

       这个方法就可以完成

       apple开放的API较少 自己看文档是个很好的选择

       4 还遇到一个问题:暂时无法做到从自己的键盘端跳转到mainApp

         以前使用webview是可以做到 但是apple更新之后禁用这个方法  stackOverflow上的建议也无效 

         希望有解决这个问题的人可以告诉我

      5  我们的组织 QQ群248458280 期待大家的光临 一起学习 一起成长 

         

  • 相关阅读:
    中英切换
    vue-cli3 关闭一直运行的 /sockjs-node/info?t= ...
    vue 深拷贝
    C++ 中 typename
    将博客搬至CSDN
    死锁及处理
    C 运算符优先级
    阻塞与非阻塞,同步与异步
    同步函数与异步函数
    C 结构体位域
  • 原文地址:https://www.cnblogs.com/fire-fox/p/4914936.html
Copyright © 2011-2022 走看看