UITextField完成输入后关闭键盘的方法

iPhone的键盘是基于软件,而不是物理键盘的,因此需要一些额外的步骤来确保用户在完成输入后关闭键盘。
1.通过点击Return按钮关闭键盘
当用户按下Return按钮时,将触发“did end on exit”事件,此时我们需要让文本字段取消控件,以关闭键盘。
在控制器类头文件中加入一个操作方法

-(IBAction)textFieldDoneEditing:(id)sender;

在相应的.m文件中实现该方法

-(IBAction)textFieldDoneEditing:(id)sender
{
[sender resignFirstResponder];
}

FirstResponder是用户当前正在与之交互的控件。此处我们告诉触发此操作的控件取消FirstResponder状态。当文本字段生成FirstResponder状态之后,与之相关的键盘将消失。

在Interface Builder中按command+2 选择Did End on Exit旁边的圆圈拖到File’s Owner图标,并将它连接到textFieldDoneEditing操作。然后保存,最后返回Xcode。

但是,此方法缺乏较佳的用户体验。

2.通过触摸背景关闭键盘
这个方法是创建一个不可见的按钮,将其置于其他所有元素的后面,用于通知文本字段在检测到触摸操作时生成

FirstResponder状态。

在控制器类头文件中加入

-(IBAction)backgroundTap:(id)sender;

在实现文件中实现该方法

-(IBAction)backgroundTap:(id)sender {
[textField resignFirstResponder];
}

打开Interface Builder,标有Class的字段目前显示为UIView,将其更改为UIControl。能够触发操作方法的所有控件都是UIControl的子类,所以通过更改底层类,此视图将能够触发操作方法。从Touch Down事件拖到File’s Owner图标并选择backgroundTap:操作。保存xib文件,完工。现在触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。

推荐使用此方法。

时间: 2024-08-01 09:25:57

UITextField完成输入后关闭键盘的方法的相关文章

iOS UITextField完成输入后关闭键盘的方法总结

// //  ViewController.swift //  UITextField完成输入后关闭键盘的方法 // //  Created by 悦兑科技 on 15/1/19. //  Copyright (c) 2015年 BSY. All rights reserved. // import UIKit class ViewController: UIViewController,UITextFieldDelegate { var textF = UITextField() overri

Swift - UITextField完成输入后关闭软键盘

总结了以下几种方式,欢迎补充  1,为空白区域绑定Touch Up Inside事件  2,重写touchesEnded方法  3,为TextField绑定Did End On Exit事件 一.点击编辑区域以外的地方时关闭(空白处区域绑定Touch Up Inside事件)     新建一个项目,打开Main.storyboard,添加一个Text Field,与ViewController建立连接,然后点击空白处,在右边窗口修改Custom Class 的class改为UIControl  

UITextField输入完成后关闭键盘的两种方式

1.输入完成后按下Done键关闭键盘 在Interface Builder中选择TextField,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为Done. Ios代码 //按下Done键关闭键盘 - (IBAction) textFieldDoneEditing:(id)sender { [sender resignFirstResponder]; } 找到事件Did End On Exit,与textFieldDoneEd

最简答的加法计算器 关闭键盘的方法 [_result setText:[NSString stringWithFormat:@"%ld",a]];

@property (weak, nonatomic) IBOutlet UITextField *Text1; @property (weak, nonatomic) IBOutlet UITextField *Text2; @property (weak, nonatomic) IBOutlet UILabel *result; - (IBAction)GetResult:(id)sender { NSString * t1 = [_Text1 text]; NSString * t2 =

xcode4.3 完成输入后 点击背景关闭键盘

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self.view endEditing:YES];}把这个复制到视图对应的.m文件中,即可 xcode4.3 完成输入后 点击背景关闭键盘,布布扣,bubuko.com

iOS关闭键盘的两种简单方法

方法一: //1, 关闭键盘 [[[UIApplication sharedApplication] keyWindow] endEditing:YES]; 方法二: //2, 关闭键盘 [[self findFirstResponderBeneathView:self] resignFirstResponder]; - (UIView*)findFirstResponderBeneathView:(UIView*)view { // Search recursively for first r

关闭键盘的3种方法

第一种方法,使用它的委托UITextFieldDelegate中的方法textFieldShouldReturn:来关闭虚拟键盘. 在UITextField视图对象如birdNameInput所在的类中实现这个方法. - (BOOL)textFieldShouldReturn:(UITextField *)textField { if ((textField == self.birdNameInput) || (textField == self.locationInput)) { [textF

java 获取键盘输入常用的两种方法

java 获取键盘输入常用的两种方法 方法1: 通过 Scanner Scanner input = new Scanner(System.in); String s = input.nextLine(); input.close(); 方法2: 通过 BufferedReader BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s = input.readLine(); 原文

iOS开发——点击UITextField弹出UIDatePicker的协议实现方法

UITextField是用来接受用户输入的控件,它的优点是灵活性大,用户可以随便输入,但有时候这也是其缺点.对我们而言,典型的一个问题就是格式检查.然而我们也会遇到想让用户输入日期的时候,这个时候再进行格式检查就有些小题大做了,毕竟iOS已经为我们提供了一个UIDatePicker来进行日期选择,这样一个很自然的想法就是当用户点击UITextField的时候弹出的不是键盘,而是我们的UIDatePicker. 一个简单地方法是将自己的UIDatePicker直接赋给UITextField的inp