textField中点击return退出键盘

在IOS开发中,经常会使用到textField,在使用它时,对键盘的处理又对用户体验有着很大的影响,让用户使用方便,是软件设计的重要部分.

下面就简单的说明一下,在结束编辑后退出键盘这一小动作.

首先,如果要退出键盘,就必须要失去第一响应者的身份,键盘就会退出

当textField处于输入状态时,就是第一响应者状态,所以只要在一个适当的时机,将textFiled的第一响应者状态辞去,键盘就会退出.

接下来,就是何时退出比较合适.

一般用户输入完毕后都习惯点击屏幕空白或是键盘的return键,而苹果正好已经为开发者封装了一套textField的代理方法,

而在textField的代理方法中,有多个处理键盘事件的方法,此时退出键盘需要用到是

- (BOOL)textFieldShouldReturn:(UITextField *)textField;

该方法是在用户点击键盘的return键时调用的,我们只需要实现一下该方法就能达到我们的目的.

具体代码如下:

1 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
2
3     // 必须辞去第一响应者后,键盘才会回缩.
4     [textField resignFirstResponder];
5     return YES;
6
7 }

这样,键盘就恩呢刚顺利的回退,目标完成.

PS.注意需要让控件遵守协议,否则重写的代理方法无效.

测试代码已经上传到GitHub,地址:https://github.com/moonclock/UITextFieldText

转载请标明出处,谢谢.

时间: 2024-10-21 19:01:38

textField中点击return退出键盘的相关文章

IOS问题汇总:2014-12-2 xcode6中iphone5模拟器中运行textfield不弹出键盘+点击return收键盘

1.xcode6中iphone5模拟器中运行textfield不弹出键盘 Hardware->Keyboard->Toggle Software Keyboard手动激活键盘 2.点击return收键盘(1)按住Ctrl,选中TextField,拖拽至ViewController使二者连接.(2)在.h中@interface那行添加.(3)在.m中添加代码: -(BOOL) textFieldShouldReturn:(UITextField *)textField{if (textField

iOS中点击背景收键盘

这一次给大家带来的是ios中点击背景如何收键盘 直接上图: file:///Users/a504-18/Desktop/屏幕快照%202016-03-17%20下午7.35.07.png 先创建一个这样的页面,把两个文本框进行连线: file:///Users/a504-18/Desktop/屏幕快照%202016-03-17%20下午7.36.57.png 其实,很简单,视图控制器有一个view属性,是从UIViewController继承来的.这个view属性对应的nib文件中的View.使

iOS开发——OC篇&纯代码退出键盘

关于iOS开发中键盘的退出,其实方法有很多中,而且我也学会了不少,包括各种非纯代码界面的退出. 其实这里纯代码界面推出如果用到Xib何Storyboard上面去还是一样的思路操作,只不过笔者在开发的时候是在纯代码界面遇到的问题,所以久以此命名. 下面大家介绍怎么在纯代码的情况下,退出(隐藏)键盘,Xib和StoryBoard情况下这里就不解释了(照此思路). 一:UITextField 关于UITextFiel个人感觉又很多中方法,但是最近开发中我用的最多的也就是这两种,根据和已经在公司上班的同

【好程序员笔记分享】——纯代码退出键盘

iOS培训------我的c语言笔记,期待与您交流! 关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得 了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没有真正弄清楚的人来说,也是一件痛苦的事情,哈

【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog/42545,他的文章写的很好,对大家的理解很有好处. 在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭它.例如,我们可以实现按下 Rerun (有

点击空白,键盘退出

@Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (event.getAction() == MotionEvent.ACTION_DOWN) { if (getCurrentFocus() != null && getCu

IOS 开发之-- textfield和textview,return键的改变,点击return键

一,textfield的return键改变 方案1.改变键盘右下角的换行(enter)键为完成键,后实现代理方法键盘自动回弹 UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 300, 200, 40)]; [self.view addSubview:textField]; textField.delegate = self; textField.returnKeyType = UIReturnK

IPhone手机页面中点击文本输入框,弹出键盘,网页会放大,如何解决

在head标签中加入以上meta声明.具体属性可以谷歌/百度. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 我查了下viewport,有几个属性:width - viewport的宽度 height - viewport的高度initial-scale - 初始的缩放比例minim

微信公众号弹出框在IOS最新系统中点击键盘上的“完成”导致事件无法触发问题

微信公众号弹出框在IOS最新系统中点击键盘上的"完成"导致事件无法触发问题 问题描述 微信公众号中有项功能是弹框模态框,输入信息后保存操作.但是在IOS系统中发现,当输入内容后,点击键盘上的"完成"后,再点击"提交"无反应:跳过"完成"直接点击"提交"就可以正常保存 问题原因 当键盘弹出后,会将body向上弹起:但是点击"完成"后并没有将body拉回,导致点击事件不在body内而无法触发