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 期待大家的光临 一起学习 一起成长
最新文章
- 记录一次bug解决过程:resultType和手动开启事务
- Redis的缓存策略和主键失效机制
- 串口 COM口 TTL RS-232 RS-485 区别 释疑
- IDE启动报错
- C# WebApi传参之Post请求-AJAX
- hadoop分布式安装教程(转)
- 有关PHP 10条有用的建议
- forEach、map、 for-in 、 for 、some 对比 break
- 动态规划(区间DP):HDU 5115 Dire Wolf
- 代码对齐 分类: C#小技巧 2014-04-17 14:45 166人阅读 评论(0) 收藏
- iOS开发中,应用内直接跳转到Appstore
- Spring接口编程_设值注入和构造注入
- python生成式
- 使用Identity Server 4建立Authorization Server (2)
- docker 安装与学习
- 安卓高级6 SnackBar
- c#链接access数据库
- SQLserver 新用户的创建以及权限的给与
- Implementing HTTPS Everywhere in ASP.Net MVC application.
- H5微信页面开发 IOS系统 input输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置,导致弹框里的按钮响应区域错位