在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. ASP.NET经典的、封装好的ADO.NET类包

    using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.R ...

  2. java emoji表情存储解决方案

    1.问题产生情况 我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了. 2. ...

  3. Linux下自动化测试环境的搭建

    1.安装Linux虚拟机,详情参考  https://blog.csdn.net/qq_22770715/article/details/78558374     https://www.cnblog ...

  4. 海德汉S3078长度计

    手头有一款海德汉S3078的增量式长度计. 图三为长度计引出线缆的针脚编号,其中,Up和传感器Up短路,0V与传感器0V短路,其他为输出信号线缆.时序如图: Ua1和Ua2两个信号的相位,可以得出长度 ...

  5. asp.net 图表

    感谢csdn深南大道,文章转自http://blog.csdn.net/smartsmile2012/article/details/17356673 前台代码 <div> <asp ...

  6. Java GUI设置图标

    ImageIcon是Icon接口的一个实现类. ImageIcon类的构造函数: ImageIcon() ImageIcon(String filename)   //本地图片文件 ImageIcon ...

  7. 解决win64无法添加curl扩展的问题

    网上试了很多方法都无效,最后直接用phpstudy集成安装包中对应版本的php_curl.dll替换即可

  8. rpm包的安装方法

    每次都记不住,这次必须整理一下!cd到你存放rpm文件包的目录rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm安装时可能会遇到缺少包的错误.rpm -ivh --repla ...

  9. Android WiFi使用记录

    最近在做Android的WiFi部分的开发,连接的工具类参照了这个文章的工具类. http://www.cnblogs.com/zhuqiang/p/3566686.html 开发中碰上的一些问题,在 ...

  10. 浅谈table和DIV网页布局

    DIV+CSS是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DI ...