关于 第三方输入法的问题

iOS8 以后 苹果 放开了输入法的权限,允许用户安装使用第三方的输入法,但是iOS没有api 可以判断用户使用的是否为第三方输入法,在使用第三方输入法的时候也会遇到各种问题。

比如 输入框在键盘弹出的时候 上移一定的位置,如果是系统自带的键盘,宏定义一个位置 就可以达到效果,但是如果切换到第三方的输入法,就会出现位移出错的问题。这个时候就只能去判断 键盘的高度,而且第三方键盘在弹出的时候会出现卡顿现象,所以必须在获取到键盘高度之后去设置位移的位置,并开始位移动画。具体代码如下:

首先要添加监听:

    //监听键盘即将升起的事件

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(upAnimation:) name:UIKeyboardWillShowNotification object:nil];

 

然后是实现部分:

- (void)upAnimation:(NSNotification *)not

{

    NSDictionary *info = [not userInfo];

    NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];

    CGSize size = [value CGRectValue].size;

    if (size.height>0) {

        _moveY = size.height+30;

      //do what you want

    }

}

posted @ 2016-03-15 12:32  deneyZhao  阅读(258)  评论(0)    收藏  举报