iOS开发点滴 - 关闭键盘

有时候系统显示的键盘会挡住视图中某些重要的控件,这个时候当用户按下换行键,就应该取消UITextField对象的第一响应(First Responder)状态而关闭键盘。

 

1. 首先,视图控制器必须遵守UITextFieldDelegate协议

@interface XXViewController ()<UITextFieldDelegate>

 

2. 然后,需要再视图控制器中实现textFieldShouldReturn:

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

 

3. 运行应用,点击键盘,按下Return键后发觉没有反应,这是怎么回事呢?

原来,我们忘记了让我们的文本框控件连接File's Owner

点击文本框,按下Control键+鼠标拖动到左侧Placeholders中的File's Owner,这时候鼠标右键点击文本框,会发现Delegate中多了File's Owner

再次运行,Ok成功了!

 

4. 为了获得更好的用户体验,需要用户轻按视图背景区域,也能关闭键盘

解决方案是想顶层视图发送endEditing:消息

a. 将视图控制器中的视图的Custom Class从UIView改为UIControl

b. 添加背景轻触响应事件

  b-1) 切换到辅助视图(Assistant View), 左侧是视图控制器的图形化界面,右侧是实现代码

  b-2) 选中视图控制区的顶层View, Control+鼠标左键拖动到实现代码

  b-3) 在弹出对话框中输入动作名称backgroundTapped

         千万不要忘记把事件类型改为Touch Up Inside!!

         输入以下代码:

 

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

 

运行应用,Ok一些成功!!

 

时间: 2024-08-03 09:11:13

iOS开发点滴 - 关闭键盘的相关文章

iOS 开发之 - 关闭键盘 退出键盘 的5种方式_IOS

iOS 开发之 - 关闭键盘 退出键盘 的5种方式  1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5.关于键盘遮蔽的问题 1,点击编辑区以外的地方(UIView) 这是一种很直觉的方法,当不再需要使用虚拟键盘时,只要点击虚拟键盘和编辑区域外的地方,就可以将键盘收起,下面程式码是在 UIView 中内建的触碰事件方法函式,您可以参考 Touch Panel / 触碰萤幕 / 压力感应器的基本使用方式一

iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)

1. 拖线 按住Control键,用鼠标从源控制器的某个控件开始,拖动到目的控制器   2. 选择弹出类型并设置Segue Identifier 在弹出的对话框中,选择"Selection Segue->Show" 见下图   设置Segue Identifier   3. 在目的视图控制器中设置接收桩 class DetailViewController: UIViewController { ... var destStub: SomeClass! ... }   4. 在源

总结IOS关闭键盘/退出键盘的五种方式_IOS

话不多说,接下来就是几种实现方式: 1,点击编辑区以外的地方(UIView) 这是一种很直觉的方法,当不再需要使用虚拟键盘时,只要点击虚拟键盘和编辑区域外的地方,就可以将键盘收起,下面程式码是在 UIView 中内建的触碰事件方法函式,您可以参考 Touch Panel / 触碰萤幕 / 压力感应器的基本使用方式一文,找到更多关于触碰事件的方法函式. – (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if (![

IOS关闭键盘的方法

  在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法.这个需要我们自己去实现. 首先输入完成后按键盘上的done关闭键盘 首先在Interface Builder中选择TextFields,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为done.OK 定义方法 代码如下: - (IBAction) textFieldDoneEditing:(id)sender; //按

UiOS开发中ITextView回收或关闭键盘使用方法总结_Android

iOS开发中,发现UITextView没有像UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView关闭键盘,就必须使用其他的方法,下面是可以使用的几种方法. 1.如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate. - (void)textViewDidBeginEditing:(UITextView *)textView { UIBarButtonItem *don

UiOS开发中ITextView回收或关闭键盘使用方法总结

iOS开发中,发现UITextView没有像UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView关闭键盘,就必须使用其他的方法,下面是可以使用的几种方法. 1.如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate. - (void)textViewDidBeginEditing:(UITextView *)textView { UIBarButtonItem *don

iOS开发之自定义表情键盘(组件封装与自动布局)

下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看一

IOS关闭键盘的方法_IOS

首先输入完成后按键盘上的done关闭键盘 首先在Interface Builder中选择TextFields,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为done.OK 定义方法 复制代码 代码如下: - (IBAction) textFieldDoneEditing:(id)sender;    //按下Done键关闭键盘 实现方法 复制代码 代码如下: //按完Done键以后关闭键盘 - (IBAction) textF

IOS开发中取消文本框输入时的小键盘

  这篇文章主要介绍了IOS开发中取消文本框输入时的小键盘,需要的朋友可以参考下 首先在Interface Builder中选择TextFields,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为done.OK 定义方法 - (IBAction) textFieldDoneEditing:(id)sender; //按下Done键关闭键盘 实现方法 代码如下: //按完Done键以后关闭键盘 - (IBAction) text