ios开发中关闭textview控件的虚拟键盘
在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控件的虚拟键盘的更多相关文章
- iOS开发UI篇—UIScrollView控件实现图片轮播
iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 二.实现代码 storyboard中布局 代码: #import "YYV ...
- 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播
原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
- iOS开发UI篇—UIScrollView控件介绍
iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...
- iOS开发UI篇—UITableview控件使用小结
iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...
- android中的TextView控件
我以前是搞ssh开发的,现在在搞android开发,所以简单学习了一下,对于自己所了解的做一个记录,也算是一个笔记吧,如果有什么不对的,希望大家给予一定的指导. 一.TextView的基本使用 Te ...
- Android开发中目前流行控件和知识点总结
Android开发中目前流行控件和知识点总结 1.SlidingMenu 滑动菜单 应用案例:Facebook . Path 2.0 .人人.网易新闻 下载地址: https://github.c ...
随机推荐
- Codeforces 1143B(思维、技巧)
自己水平太低,不丢人. 结论是最后选取的数后缀一定是若干个9,暴举即可.然而暴举也有暴举的艺术. ll n; ll dfs(ll n) { if (n == 0) return 1; if (n &l ...
- Machine Learning Codeforces - 940F(带修莫队) && 洛谷P4074 [WC2013]糖果公园
以下内容未验证,有错请指正... 设块大小为T,则块数为$\frac{n}{T}$ 将询问分为$(\frac{n}{T})^2$块(按照左端点所在块和右端点所在块分块),同块内按时间从小到大依次处理 ...
- wmq的队伍 BIT优化dp
http://oj.xjtuacm.com/problem/14/ wmq的队伍 发布时间: 2017年4月9日 17:06 最后更新: 2017年4月9日 17:07 时间限制: 2000m ...
- 51NOD 1202 子序列个数 DP
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1202&judgeId=225600 这题看起来挺复杂,但是真正的 ...
- php post提交超过1000个字段的时候服务器会截断多余部分
采取将子字段转化为json的形式,合并多个字段于一个字段
- javaScript面向对像
1.创建对象 <script type="text/javascript"> function Flower(name,addre) { this.name=name; ...
- AJPFX关于collection总结
Collection接口是该层次结构的根接口,该接口的所有子接口或实现子类集合都可以用Iterator迭代器进行取出.Collection有两个常见子接口,即为List和Set,其中List集合可以用 ...
- 【持续更新】HTML5 基础知识
文档类型声明 <!DOCTYPE html> 必不可少,位于文件第一行. 字符编码 <meta charset="UTF-8"> 语义化标记元素 heade ...
- PL/SQL学习笔记(二)
select * from protype;select * from product;---笛卡尔连接查询(交叉连接)select * from protype,product;select * f ...
- ef导航属性
https://msdn.microsoft.com/en-us/data/jj574232.aspx 场景是 A表中有B,B表中又C.都是一堆多的关系.怎样Mapping是个问题啊. var ...


