因为开发中经常要用到textField和textView,在某些情形下隐藏键盘很有必要,而隐藏键盘有多种方式,在合适的场景下用合适的方式隐藏就显得很重要,我也老是记不起来有哪些方法,这里就记录一下,以备查找。

首先,我想到的也是最常用的,实现UITextFieldDelegate的代理方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{   [textField resignFirstResponder];   return YES;
}

其次,我想到了点击界面的其他空白区域来隐藏,而这种方式又有多种实现,下面来依次记录一下:

第一种,是修改控制器的UIView为UIControl,然后设置UIControl的单击事件,并实现之。

首先设置xib中得UIView的Custom class为UIControl,然后拖拽xib中得UIView拖到.h区中,生成一个Action,事件为touchUpInside,

- (IBAction)touchView:(id)sender {  [self.view endEditing:YES];
}

第二种,不用修改UIView,而是利用手势,给UIView添加一个点击的手势,来控制键盘的隐藏。

- (void)viewDidLoad
{  [super viewDidLoad];  UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide)];  //设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。  tapGestureRecognizer.cancelsTouchesInView = NO;  //将触摸事件添加到当前view  [self.view addGestureRecognizer:tapGestureRecognizer];
}
- (void)keyboardHide
{  [self.view endEditing:YES];
}

第三种,比较麻烦点,我只记录个思路,自定义一个UIView,然后实现view的touchesBegan:触摸事件

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{  [textFiled resignFirstResponder]; //或者下面这种方式[self.view endEditing:YES];
}

总结,其实就是想办法调用这两个方法

1、[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏。

2、[textFiled resignFirstResponder] 这个则是比较常用的让某个textFiled的键盘隐藏。

当然,还可以自己调整键盘的frame来隐藏,这种方法就显得太麻烦了,而没有必要。

转载于:https://www.cnblogs.com/wanghang/p/6298911.html

iOS隐藏键盘的几种方式相关推荐

  1. IOS 点击空白处隐藏键盘的几种方法

    IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以 ...

  2. UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)因为直接给UITabBar设置的背景颜色显示的不纯,半透明的感觉,所以,有时候我们可以直接利用纯色的图片作为背景达到想要的效果: (2)给ic ...

  3. IOS应用分发的三种方式

    IOS应用分发的三种方式 IOS应用分发三种方式 上架到AppStore 扫码或者点击链接下载安装 放到第三方应用内测分发平台 上架到AppStore 这个就不讲了,一句两句讲不清楚,网上教程一大堆, ...

  4. QTreeWidget隐藏节点的两种方式

    简述 关于QTreeWidget隐藏节点有两种方式,一种是直接隐藏,一种是间接隐藏,但是两种方式各有差异,下面请听具体解说. 方法一:直接隐藏式 Qt助手里面提供了QTreeWidgetItem::s ...

  5. 分享了iOS获取通讯录的4种方式

    本文实例为大家分享了iOS获取通讯录的4种方式,供大家参考,具体内容如下 使用场景 一些App通过手机号码来推荐好友,如 微博.支付宝 首先客户端会获取通讯录中的所有手机号然后将这些手机号提交到App ...

  6. 隐藏div的四种方式

    隐藏div是指所选择的div不显示在页面上,但是隐藏后有两种效果 1.隐藏过后的div的位置还是被占用了 2.隐藏过后的div的位置没有被占用 下面看几种隐藏div的方法 <!DOCTYPE h ...

  7. html显示与隐藏元素的几种方式

    html显示与隐藏元素的几种方式 显示与隐藏 display none : 无 隐藏元素 block : 显示 转换为块级元素 visibility visible :显示 hidden :隐藏 区别 ...

  8. IOS 收起键盘的几种方法(转)

    在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法.这个需要我们自己去实现.这三类视图对象分别是UITextField,UITextView和U ...

  9. APP如何保存数据?——iOS保存数据的4种方式

    在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍一下数据保存的方式: 1.NSKeyed ...

最新文章

  1. pytorch利用多个GPU并行计算多gpu
  2. vs2008页面布局GridLayout绝对定位的设置
  3. 得到按钮句柄后如何点集_RepPoint:可形变卷积生成的目标轮廓点集
  4. Spring @Autowired 注释
  5. 机器学习中常用的优化算法:
  6. potplayer如何添加m3u直播源_拼多多个人直播流量怎么来?直播如何添加个人商品...
  7. UEFI开发探索31–鼠标GUI构建
  8. Whatsapp注册步骤
  9. bitbucket搭建
  10. 图解刘谦如何手穿玻璃桌(详细图文说明)
  11. 微x怎么设置主题_苹果x前置呼吸灯怎么设置
  12. 怎么使用dbc2000架设传奇-dbc2000架设传奇教程
  13. 通俗易通解释SLAM问题的数学描述:运动方程和观测方程
  14. 时间复杂度O(n)什么意思
  15. 扫雷游戏软件测试,软件测试
  16. 信息孤岛影响_数据孤岛成数字化转型最大拦路虎,看RPA如何让企业数据流转自如...
  17. 孤独真的能毁掉一个人吗?你孤独吗?
  18. webpack-webpack-dev-server
  19. 让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机
  20. 案例分享,Appium+Python实现APP启动页跳转到首页!

热门文章

  1. mysql 存储过程调用权限消失的问题,恢复权限
  2. ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园
  3. SQL2008如何创建定时任务作业
  4. Access数据库查询练习专用数据库 -手机号码归属地Access数据库_MobileDB(10万条记录)...
  5. Goldengate介绍
  6. Fibonacci数列第n项的log(n)算法
  7. React 中 keys 的作用是什么?
  8. matplotlib figure转为numpy array或者PIL图像进行显示
  9. python的os模块基本使用
  10. 数据类型的判断 --Object.prototype.toString.call(obj)精准检测对象类型