【iOS开发】隐藏键盘
2016-06-04 16:16
459 查看
1.使用Done键隐藏键盘
2.通过触摸背景隐藏键盘
输入文字的文本框打开的键盘没有Done键,并且文本视图不支持Did End on Exit事件,可以通过触摸背景的方式来隐藏键盘:
其实触摸背景只是操作方式,实现的形式还添加一个全屏的UIButton来改变第一响应者。
(1)添加UIButton
在Interface Builder视图中,选择View->Utilities->Object Library打开对象库,拖拽一个UIButton到视图中,并且选中,选择Type(类型)设置为Custom,使按钮变成透明;调整UIButton的大小使其填满整个视图,此时UIButton应该是位于视图的最高层,干扰了其他控件的选择;确保选定了UIButton,选择Editor->Arrange->Send to Back将按钮放置到所有控件的后面,不干扰选定其他控件;
(2)添加隐藏键盘的代码
要隐藏键盘,只需要让显示键盘的对象放弃第一响应者的状态.可用下列代码实现:
[self.thePlace resignFirstResponder];
用户可以修改thePlace,替换为需要修改的地方。
我们以类方法hideKeyboard为例,需要修改的地方为thePlace,theVerb,theNumber,theTemplate;
- (IBAction)hideKeyboard:(id)sender
{
[self thePlace resignFirstResponder];
[self thePlace resignFirstResponder
[self thePlace resignFirstResponder
[self thePlace resignFirstResponder
}此方法的实现需要添加到ViewController.m的末尾,运行效果即为单机文本框和文本视图外面或按Done键,键盘都会消失。
2.通过触摸背景隐藏键盘
输入文字的文本框打开的键盘没有Done键,并且文本视图不支持Did End on Exit事件,可以通过触摸背景的方式来隐藏键盘:
其实触摸背景只是操作方式,实现的形式还添加一个全屏的UIButton来改变第一响应者。
(1)添加UIButton
在Interface Builder视图中,选择View->Utilities->Object Library打开对象库,拖拽一个UIButton到视图中,并且选中,选择Type(类型)设置为Custom,使按钮变成透明;调整UIButton的大小使其填满整个视图,此时UIButton应该是位于视图的最高层,干扰了其他控件的选择;确保选定了UIButton,选择Editor->Arrange->Send to Back将按钮放置到所有控件的后面,不干扰选定其他控件;
(2)添加隐藏键盘的代码
要隐藏键盘,只需要让显示键盘的对象放弃第一响应者的状态.可用下列代码实现:
[self.thePlace resignFirstResponder];
用户可以修改thePlace,替换为需要修改的地方。
我们以类方法hideKeyboard为例,需要修改的地方为thePlace,theVerb,theNumber,theTemplate;
- (IBAction)hideKeyboard:(id)sender
{
[self thePlace resignFirstResponder];
[self thePlace resignFirstResponder
[self thePlace resignFirstResponder
[self thePlace resignFirstResponder
}此方法的实现需要添加到ViewController.m的末尾,运行效果即为单机文本框和文本视图外面或按Done键,键盘都会消失。
相关文章推荐
- IOS 响应者链条
- iOS点击事件重复执行(取消延迟执行函数)
- iOS使用自定义字体
- IOS 委托代理(delegate)实现页面传值
- AutoLayout进阶篇
- Ngios安装配置
- IOS学习笔记——基础界面 (二)
- iOS百度地图简单使用
- iOS开发~CocoaPods使用详细说明
- iOS -pch配置
- iOS中通知的使用NSNotificationCenter
- 第三方插件
- iOS手势识别(双击、捏、旋转、拖动、划动、长按)详解
- 解决虚拟机中安装的mac os系统无法识别ios设备的问题
- 2016年最新苹果开发者账号注册申请流程最强详解!
- iOS 【.pch文件的路径方便设置】
- iOS开发 GET、POST请求方法:NSURLSession篇
- nagios监控进程
- iOS 本地通知的实现
- iOS 9 NetworkExtension使用