项目中经常会用到输入框,难免会碰到键盘遮挡其他控件的问题 那么如何解决 键盘遮挡的问题呢?

首先这是我的项目中的界面图

然后我们点击下面的详细地址或者输入验证码

我们发现键盘遮蔽住了下面的输入框 接下来说解决方案

第一步

 tfDetailAddress.delegate=self;tfVerCode.delegate=self;

第二步 在输入框开始编辑的时候添加观察者

-(void)textFieldDidBeginEditing:(UITextField *)textField{[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil];}
#pragma mark 键盘操作
- (void)keyboardWillChange:(NSNotification *)note
{NSDictionary *userInfo = note.userInfo;CGFloat duration = [userInfo[@"UIKeyboardAnimationDurationUserInfoKey"] doubleValue];CGRect keyFrame = [userInfo[@"UIKeyboardFrameEndUserInfoKey"] CGRectValue];//这个64是的navigationbar加上状态栏20的高度,可以看自己的实际情况决定是否减去;CGFloat moveY = keyFrame.origin.y - self.view.frame.size.height+64;[UIView animateWithDuration:duration animations:^{self.view.transform = CGAffineTransformMakeTranslation(0, moveY);}];}

第三步 在viewdidLoad里 添加隐藏键盘的观察者


[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(keyboardWillHide:)name:UIKeyboardWillHideNotificationobject:nil];
隐藏键盘
- (void)keyboardWillHide:(NSNotification *)nsnotification
{[[NSNotificationCenter defaultCenter]removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];[UIView animateWithDuration:0.2 animations:^{self.view.transform = CGAffineTransformMakeTranslation(0, 0);}];
}

然后运行

我们发现键盘成功弹上去了 然后按键盘上的回收三角形

**发现没有任何问题 在这里补充一个问题 就是 当我们正在编辑的时候 如果切换出去的话,然后再次切回来程序 发现键盘没有回收,这个时候点击回收三角形进行回收会出现如下问题
整个视图往下移了
**

解决方法就是后台切入前台的时候 把 editing置为yes就可以了

在 viewdidload里添加如下代码

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground)name:UIApplicationWillEnterForegroundNotification object:nil];
对应的函数
- (void)applicationWillEnterForeground{[self.view endEditing:YES];
}

这样就ok了

ios 处理键盘遮挡问题相关推荐

  1. 修复苹果iOS 原生键盘遮挡input框

    最近在做一个仿微信的聊天界面,有一个固定在页面底部的input框,本来使用fixed定位在底部,在android手机上没有任何问题,但在iOS上当点击输入内容的时候会出现不同情况的原生键盘遮挡输入框的 ...

  2. iOS 解决键盘遮挡输入框问题,输入框随键盘弹起上移,切换输入法时动态调整 (Swift)

    最近在项目中需要解决苹果系统输入法遮挡输入框的问题,预期结果为: 若键盘弹出后会遮挡输入框,则输入框随键盘弹起上移,输入法切换时输入框始终保持在距键盘上方 4pt 处; 若键盘弹出后不会遮挡输入框,但 ...

  3. iOS 处理键盘遮挡TextField、TextView问题

    之前处理键盘遮挡问题都是在每一个控制器进行单独处理,这样做真的是非常的费事,今天在做项目的时候就想到自己封装一个,记录一下这个"跌宕起伏"的过程. 思路是这样的:计算文本编辑控件F ...

  4. iOS 键盘遮挡输入框万能解决方案(多个输入框)

    效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...

  5. iOS键盘遮挡输入框,输入区域自动上移

    在iOS开发过程当中,遇到关于键盘遮挡输入框的问题,经过网络参考与实践,总结如下: 登录窗口,上下放置两个UITextField,一个用户名,一个密码,放置的在屏幕下方1/3处,当点击用户名时,自动弹 ...

  6. Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡

    Vue 自定义指令 解决IOS webview input 获取焦点被键盘遮挡 创建自定义指令 在使用input的地方添加自定义指令,记录一下还有优化空间. vue 文件 <div id=&qu ...

  7. iOS解决表格中TextField,TextView编辑时,输入框被键盘遮挡的问题

    方法1:在原来的 UIViewController 内部再添加一层 UITableViewController 代码如下 : // // ViewController.m // 键盘遮挡问题 // / ...

  8. ios自定义控件,使UIScrollView自己处理输入时键盘遮挡控件

    在开发过程中,如一个页面有许多的输入控件,UITextField和UITextView.编码的时候就要考虑控件获得焦点后,键盘是否会把这个控件遮挡,就得操作UIScrollView的滚动条位置. 我开 ...

  9. android 自定义键盘高度不对,NVUE 容器一旦设置了position且容器高度不能超过整屏,在安卓端就会被键盘遮挡...

    譬如WEEX的这个input的例子,如果把input删的不足以撑满整个界面,在安卓端,不会自动的整页往上浮动,导致input被键盘遮挡,这个问题应该怎么解决啊?IOS正常 http://dotwe.o ...

最新文章

  1. requestWindowFeature()的应用
  2. hdu3666-THE MATRIX PROBLEM【差分约束,自然对数】
  3. 【算法设计与分析】09 递推方程与算法分析
  4. RDataMining系列:Chapter 4 Decision Trees --决策树实现,未完待续
  5. BBIAF的完整形式是什么?
  6. 路由器用PPP0E上网
  7. 对C语言的程序基本结构框架,C语言的基本框架的.doc
  8. lodop直接打印怎么去除水印_手机视频有水印怎么办?一招教你轻松去除,不学真是可惜了...
  9. 毕业论文封面LaTeX模板
  10. 91手机助手官网iPhone版 v5.6.1 官方版
  11. Android手势密码解锁
  12. 如何用python把pdf转为word_如何使用python将双栏pdf转换成word?
  13. 树莓派3B+新麦克风调试
  14. 解决win7语言栏消失问题
  15. appinventor HTML5,App Inventor编程教程-第18课-创建动画应用
  16. 宿舍管理系统的设计与实现/学生宿舍管理系统
  17. Nginx的二进制安装教程
  18. 华夏名网十周年盛大感恩优惠活动
  19. Rstudio Markdown中文输出PDF文件
  20. 系统架构设计(3)-可扩展性

热门文章

  1. 树形DP+并查集+左偏树, HDU-5575,Discover Water Tank,2015上海现场赛D题
  2. sql查询本天,本周,本季度,本年,前一天,后一天,最后一天,本季度天数,本月天数
  3. [NFC] 手机模拟门禁卡
  4. HTML期末大作业~ 大话西游之大圣娶亲电影4页面 ~学生网页设计作业源码(HTML+CSS+JS)...
  5. 数据库连接池的作用及c3p0的详解
  6. 创建快捷方式:ShortCuts初探 (静态版)
  7. 软件工程毕业设计课题(82)微信小程序毕业设计PHP共享停车位小程序系统设计与实现
  8. 后盾网-CI框架实例教程-马振宇 - 学习笔记(4)
  9. 汉字转拼音工具类,依赖Pinyin4J
  10. 安卓开发大致语法简介