在ios开发中,textfield控件在点击的时候出现虚拟键盘,关掉虚拟键盘可以通过虚拟键盘中的done button和点击view中的任意地方来关闭虚拟键盘。

1.第一种方法是textfield控件的虚拟键盘中的done按钮是通过在我们自己写的类加上一个接口:UIViewController<UITextFieldDelegate>来实现。然后再加上函数:

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

不过这不算完成,还有一个步骤,要在对应的xib文件中加上outlet和xib中控件的连接。我就是因为这个原因搞了好久。在这里我们就要把自己的text field控件和degelate连接起来就可以了,在referenceing outlets里面。

而text view控件就有点不太一样了,由于可以是多行的,是return换行按钮,点击按钮是换行功能,所以还要换成下面的这个函数:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}

2.第二种方法是通过backgroundtap来实现

  保存头文件并切换到实现文件。在其中添加此代码,其作用是通知所有文本字段在必要时生成第一响应者状态。在非第一响应者控件上调用resignFirstResponder是绝对安全的,因此我们可以放心地对两个文本字段调用它,而不需要检查其中是否有一个是第一响应者。

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

保存此文件,然后返回Interface Builder。我们现在需要更改nib视图的底层类。如果看一下nib的主窗口(参见图4-17),将会看到该视图中有3个图标。第三个图标名为View,是nib的主视图,它将所有其他控件和视图作为子视图容纳在内。

图4-17 nib的主窗口具有3个图标,
第三个图标(标有View)是nib的内容视图

单击名为View的图标,该图标表示nib的容器视图。按 4调出身份检查器(参见图4-18)。可以在这里更改Interface Builder中任何对象实例的底层类。

标有Class的字段目前显示为UIView,将其更改为UIControl。能够触发操作方法的所有控件都是UIControl的子类,所以通过更改底层类,此视图将能够触发操作方法。可以按 2调出连接检查器(参见图4-19)来验证这一点。现在应该会看到在上一章中将按钮连接到操作时看到的所有事件。

图4-18 身份检查器支持更
改nib中任何对象实例的底层类
图4-19 通过将视图的类从UIView改
为UIControl,我们能够在任何
标准事件上触发操作方法

从Touch Down事件拖到File's Owner图标,然后选择backgroundTap:操作。现在,触摸视图中没有活动控件的任何位置都将触发新的操作方法,这将导致关闭键盘。

说明 你可能想知道为什么我们选择Touch Down,而不是像上一章那样选择Touch Up Inside。答案是后台不是一个按钮。它不是用户眼中的控件,所以它不需要用户尝试滑动手指来取消操作。

ios开发中关闭textview控件的虚拟键盘的更多相关文章

  1. iOS开发UI篇—UIScrollView控件实现图片轮播

    iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: #import "YYV ...

  2. 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

    原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...

  3. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  4. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  5. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  6. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...

  7. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  8. android中的TextView控件

    我以前是搞ssh开发的,现在在搞android开发,所以简单学习了一下,对于自己所了解的做一个记录,也算是一个笔记吧,如果有什么不对的,希望大家给予一定的指导.  一.TextView的基本使用 Te ...

  9. Android开发中目前流行控件和知识点总结

    Android开发中目前流行控件和知识点总结   1.SlidingMenu 滑动菜单 应用案例:Facebook . Path 2.0 .人人.网易新闻 下载地址: https://github.c ...

随机推荐

  1. 洛谷 P2623 物品选取

    https://www.luogu.org/problemnew/show/P2623 https://www.luogu.org/blog/test-1/solution-p2623 重点就是甲类物 ...

  2. Vue初始化

    Vue上面的函数怎么来的 vue的打包路径 在web中使用的vue打包路径: npm run build 打包生成vue.js 下面是依次引入: src/platforms/web/entry-run ...

  3. 转 Oracle Cluster Health Monitor(CHM)简介

    Cluster Health Monitor(以下简称CHM)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU.内存.SWAP.进程.I/O以及网络等)的使用情况.CHM会每秒收集一次 ...

  4. Xenu使用随记

    经试验发现,如果配置了host进行网站检测时,Xenu和浏览器一样,都需要配置了host之后,重新打开Xenu程序(浏览器),host的配置才能生效.

  5. 用注解@DelcareParents实现引用增强

    引用增强,是一个比较特殊的增强,不同于其他方法级别的增强. 引用增强可以实现:一个Java类,没有实现A接口,在不修改Java类的的情况下,使其具备A接口的功能. 先看看背景,我们有个Love接口: ...

  6. tera term 的一个命令解析脚本

    ;用虚拟串口虚拟2个串口,tera term使用串口2 ;设置串口2 波特率 115200,超时500ms;如果收到串口发来OK则回复SUCCESS;如果收到ERROR则回复faile;若超时则发送t ...

  7. odoo filter 日期

    <!--日期--> <filter name="before_twodays" string="前天" domain="[('dat ...

  8. APPCLOUD 判断网络

    if(api.connectionType == 'none'){ api.toast({ msg : '当前网络不可用,请检查网络设置', duration : , location : 'midd ...

  9. 《深入理解JavaScript闭包和原型》笔记

    By XFE-堪玉 以下知识来源于对王福朋所写<深入理解javascript原型和闭包>的理解和整理 一切都是对象[引用类型],对象都是通过函数创建的[Funcion类型] 对象是属性的集 ...

  10. 兼容IE的滚动条自定义样式

    废话不多说,直接上: IE专属的滚动条样式定义,只能设置各种原始结构的颜色,宽高结构等其他样式无法修改: div{ scrollbar-arrow-color: red; /*三角箭头的颜色*/ sc ...