关于 第三方输入法的问题
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
}
}