UITextField可以响应键盘上的完成按钮,关闭键盘,而UITextView不一样,它的return按钮或者Done按钮执行的是换行功能,不能达到关闭键盘的目的。解决方法有两个:一个是通过捕捉touch 
End事件,当用户点击空白区域时关闭UITextView打开的键盘;一个是增加一个带有完成按钮的UIToolbar(这个UIToolbar当键盘弹出的时候总是显示在键盘的上方,很完美的贴在一起,键盘收起,它也会随着收起)。当然,将这两个方法都集成进来运用也是可以的。 
    
下面提供第二种方法的详细代码: 
    UIToolbar * topView = [[UIToolbar alloc] 
initWithFrame:CGRectMake(0, 0, 320, 30)];  
    [topView 
setBarStyle:UIBarStyleDefault]; 
    
    UIBarButtonItem * btnSpace = 
[[UIBarButtonItem alloc] 
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self 
action:nil]; 
    UIBarButtonItem * doneButton = [[UIBarButtonItem alloc] 
initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self 
action:@selector(dismissKeyBoard)];    
    NSArray * buttonsArray = [NSArray 
arrayWithObjects:btnSpace, doneButton, nil]; 
    [btnSpace release]; 
    
[doneButton release]; 
    
    [topView setItems:buttonsArray]; 
    
[m_myUITextView setInputAccessoryView:topView]; 
    
注:1.dismissKeyBoard是自定义的收起键盘的方法,可自定义其中的内容,比如执行[m_myUITextView 
resignFirstResponder]; 
           2.最后一行代码setInputAccessoryView函数的调用是很关键的一句。

详细说明:http://ios.662p.com/thread-403-1-1.html

 

UITextView如何关闭键盘的更多相关文章

  1. UITextView回收或关闭键盘

    iOS开发中,发现UITextView没有像UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView关闭键盘,就必须使用其他的方法,下面是可以使用 ...

  2. iOS 开发之 - 关闭键盘 退出键盘 的5种方式

    iOS 开发之 - 关闭键盘 退出键盘 的5种方式   1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5 ...

  3. 关闭键盘导致tableView:didSelectRowAtIndexPath:失效解决办法

    今天公司的小兄弟问了tableView:didSelectRowAtIndexPath:不能执行的问题. 从经验看觉得可能是控制器没有成为tableView的代理所致.但代码中已经添加了代码 _tab ...

  4. 示例 Edit 关闭键盘再显示

    在某一些 Android 的机子上,点入 Edit 显示会键盘,但关闭键盘再点一次 Edit 后,键盘并不会再次显示出来. 实机测试: Sony Xperia ST17i:无法再次显示. Nexus ...

  5. IOS第五天(2:用户登录,回车的监听(代理模式UITextFieldDelegate)) 和关闭键盘

    *********用户登录,回车的监听(代理模式UITextFieldDelegate) #import "HMViewController.h" @interface HMVie ...

  6. iOS 中关闭键盘方法

    在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭 ...

  7. iOS利用响应链机制点击tableview空白处关闭键盘-可以作为参考

    http://www.jianshu.com/p/9717b792599c   是原文地址 处理关闭键盘的做法一般分为两种:1.放弃第一响应者身份:2.当前视图结束编辑.通常情况下只要我们在合适的时机 ...

  8. swift3.0 点击UIScrollView中输入框之外的区域关闭键盘

    通过点击事件实现关闭键盘 scrollView: UIScrollView! title_textField: UITextField! let hideKeyboardTapGesture = UI ...

  9. iOS开发点滴 - 关闭键盘

    有时候系统显示的键盘会挡住视图中某些重要的控件,这个时候当用户按下换行键,就应该取消UITextField对象的第一响应(First Responder)状态而关闭键盘. 1. 首先,视图控制器必须遵 ...

随机推荐

  1. 带节日和农历的js日历 带农历的脚本:

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  2. 使用LKDBHelper 插入相同id时候应该是更新数据而不是插入新的数据

    要实现使用LKDBHelp 插入相同id时候应该是更新数据而不是插入新的数据 例如#import "JSONModel.h" @interface InfoModel : JSON ...

  3. mongodb的python接口pymongo使用

    1. 连接 from pymongo import MongoClient client = MongoClient("mongodb://mongodb0.example.net:2701 ...

  4. vim操作笔记

    1.切换到下一个文件 假设要切换的文件名为 test.py :ex test.py 2.文档内复制命令 yy "复制光标所在行.或大写一个Y. 2yy "复制两行. y^ &quo ...

  5. C++学习29 重载[](下标运算符)

    前面已经提到,下标操作符[]必须以类的成员函数的形式进行重载.在类中的声明格式如下: 返回值类型 & operator[] (参数) 或 const 返回值类型 & operator[ ...

  6. go 使用模板函数的例子

    代码: package main import (     "bytes"     "fmt"     "text/template"    ...

  7. C++primer 练习11.33:实现你自己版本的单词转换程序

    // 11_33.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  8. 蓝桥杯---数独(模拟 || dfs)

    [编程题](满分33分) "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数 学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6 ...

  9. elasticsearch从mysql导入数据

    详细:https://github.com/jprante/elasticsearch-jdbc(最下面有各数据库的导入方法说明) elasticsearch版本为1.5.2 1.下载 elastic ...

  10. 自动生成Makefile时,关于Makefile.am编写

    最近编译一个项目的程序时,二十几个源代码文件放在六个文件夹中,而且各个文件中头文件互相包含.以前写过编译这样组织的源码的makefile,所以这次也就直接写了. 确实因为各个文件间的头文件互相包含,造 ...