可以用三方库IQKeyboardManager 用这个第三方

http://www.jianshu.com/p/f8157895

#pragma mark - keyboard events -

///键盘显示事件
- (void) keyboardWillShow:(NSNotification *)notification {
//获取键盘高度,在不同设备上,以及中英文下是不同的
CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height; //计算出键盘顶端到inputTextView panel底端的距离(加上自定义的缓冲距离INTERVAL_KEYBOARD)
CGFloat offset = (panelInputTextView.frame.origin.y+panelInputTextView.frame.size.height+INTERVAL_KEYBOARD) - (self.view.frame.size.height - kbHeight); // 取得键盘的动画时间,这样可以在视图上移的时候更连贯
double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; //将视图上移计算好的偏移
if(offset > ) {
[UIView animateWithDuration:duration animations:^{
self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
}];
}
} ///键盘消失事件
- (void) keyboardWillHide:(NSNotification *)notify {
// 键盘动画时间
double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; //视图下沉恢复原状
[UIView animateWithDuration:duration animations:^{
self.view.frame = CGRectMake(, , self.view.frame.size.width, self.view.frame.size.height);
}];
}

//计算出键盘顶端到inputTextView panel底端的距离(加上自定义的缓冲距离INTERVAL_KEYBOARD)
    CGFloat offset = (panelInputTextView.frame.origin.y+panelInputTextView.frame.size.height+INTERVAL_KEYBOARD) - (self.view.frame.size.height - kbHeight);

最新文章

  1. 【笔记】JS基础一
  2. BurpSuite 抓手机包
  3. Could not load file or assembly 'MySql.Data.CF,
  4. sublime配置java编译环境
  5. conv2、filter2、imfilter的区别
  6. 【Todo】Nginx架构学习
  7. DataTable常用操作
  8. Facebook 正式开源其大数据查询引擎 Presto
  9. windows系统各版本 各种数据结构
  10. Android 使用网络ADB调试.
  11. view components介绍
  12. 基于spring多数据源动态调用及其事务处理
  13. velocity 新手用小常识--开源,简单易上手
  14. 1、IT人思维之投资开篇 - IT人思维之投资
  15. delphi dbgrid 修改、更新、删除
  16. Python学习笔记第十五周
  17. java jdk版本切换
  18. 使用IntelliJ IDEA 搭建 spring mvc开发环境
  19. BackBone及其实例探究
  20. 006.Zabbix添加监控主机

热门文章

  1. NodeMCU Builder, yet another NodeMCU IDE
  2. VMware虚拟机安装教程
  3. Centos 安装boost库
  4. JSP6(JSP 指令与JSP 动作元素)
  5. NYOJ 119 士兵杀敌(三) RMQ ST
  6. Nginx负载均衡的优缺点
  7. Android崩溃提示 “EGL_BAD_CONFIG"
  8. Stern-Brocot Tree
  9. Cesium几个案例介绍
  10. Java-----关于eclipse导入项目发生的问题及解决办法