创建第三方键盘 customKeyboard

如果需要开发第三方键盘 首先得了解一下苹果官方文档  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 期待大家的光临 一起学习 一起成长

时间: 2024-10-13 04:57:55

创建第三方键盘 customKeyboard的相关文章

iOS8以后第三方键盘获取高度不对的问题

iOS8以后苹果可以安装第三方键盘, 通过断点我们会发现使用第三方键盘之后, 键盘将要弹出的方法:- (void)keyBoardWillShow:(NSNotification *)notification会执行三次, 三次的高度分别是:0:216:282.我们发现我们需要的是第三次的高度. 我们需要注册键盘隐藏和显示的通知: [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyBoardDid

【C语言】实现一个函数求字符串长度(不能创建第三方变量)

//实现一个函数求字符串长度(不能创建第三方变量) #include <stdio.h> #include <assert.h> int my_strlen(const char *p) { assert(p); if (*p == '\0') return 0; else return 1 + my_strlen(++p); } int main() { char *p = "abcdefg"; printf("%d\n", my_strl

获取第三方键盘高度(包括自带键盘高度)

#pragma 键盘事件 - (void) keyboardWillShown:(NSNotification *) notif { NSDictionary *info = [notif userInfo]; NSValue *value = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; CGSize keyboardSize = [value CGRectValue].size; _keyBoradH = keyboardSize.he

【c语言】实现一个函数,求字符串的长度,不允许创建第三方变量

// 实现一个函数,求字符串的长度,不允许创建第三方变量. #include <stdio.h> #include <assert.h> int my_strlen_no(char const *p) { assert(p != NULL); if (*p == NULL) return 0; else return (1 + my_strlen_no(p + 1)); } int main() { char *p = "zhaoyaqian"; printf(

在app中屏蔽第三方键盘

iOS8开放了安装第三方键盘的权限,但是在项目开发中,有些情况是需要禁用第三方键盘的.比如说,数字键盘上需要自定义按钮,但是在第三方键盘弹出时,按钮就覆盖在这上面了,在这中情况下,最好的办法是禁用第三方键盘.在UIApplicationDelegate中有一个方法可以做到禁用第三方键盘. //屏蔽第三方键盘 -(BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *

iOS8自定义输入法教程:如何创建第三方输入法

iOS8带来了很多很酷的功能,其中一个就是增加第三方输入法作为应用程序扩展.我们应当重视这个时刻,因为应用程序扩展开辟了一个全新的应用程序种类以及付费操作.凭借着在应用商店中数百万的应用程序,开发者和用户将迎来全新的一天. 在本帖中,我将向您展示如何为您的应用程序创建一个可进行全系统输入法操作的第三方输入法. 本教程将用Swift来完成.这是我的第一个真正用Swift语言完成的项目,我对其十分喜爱.现在,让我们直接研究如何创建一个第三方输入法. 首先,我先向大家展示一下我们要搭建的输入法的最终效

oracle创建第三方数据接口表,指定特定用户访问某张表

/*****创建用户并指定操作哪张表开始******/ --1.创建用户并设置默认表空间 CREATE USER CHENGDWY IDENTIFIED BY CHENGDWY DEFAULT TABLESPACE CFWL QUOTA UNLIMITED ON CFWL; --DROP USER CHENGDWY CASCADE; --删除用户 --2.授予CHENGDWY用户创建session的权限,即登陆权限 GRANT CONNECT TO CHENGDWY; ALTER USER CH

Android 使用GangSDK创建第三方家族公会系统经验分享

由于需要对之前的游戏加入一个家族系统,想到这块儿可能会有大量的工作需要自己做,就偷了个懒去网上搜罗了一波,有没有类似现成的系统?结果让我惊奇的发现,目前市面上居然真的有类似的服务,虽然是小公司开发的,但是五脏俱全,并且还是免费的,所以决定入坑尝试一下.这里就我使用的第三方家族系统(GangSDK)做一个简单的记录,方便以后查看. 一.获取APPkey 首先,打开GangSDK官网www.gangsdk.com,登录或者注册一个账户,登录成功后进入管理后台,废话不说,直接上图上图- 填写应用名称,

iOS第三方键盘高度获取不准确问题

直接上代码,搜狗的输入法 - (void)keyboardWasShown:(NSNotification*)aNotification { //一旦键盘遮挡了输入框,那么就抬起来 NSDictionary* info = [aNotification userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size; if (CGRectGetMaxY(self.tex