ios如何判断键盘是否已经显示

ios如何判断键盘是否已经显示

在群里看到有人问:ios如何判断键盘已经显示在界面上。

其实这个解决很简单:

写一个单例来管理键盘的状态。

这个单例在初始化方法init种监听2个事件,分别是

UIKeyboardDidShowNotification(键盘弹出通知)和

UIKeyboardWillHideNotification (键盘消失通知 然后在相应的方法中设置一个属性就行了。

大致的实现如下:

-(id)init

{
     self = [super init];

if (self)

{

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

[center  addObserver:self selector:@selector(keyboardDidShow)  name:UIKeyboardDidShowNotification  object:nil];

[center addObserver:self selector:@selector(keyboardDidHide)  name:UIKeyboardWillHideNotification object:nil];

_keyboardIsVisible = NO;

}

return self;

}

- (void)keyboardDidShow

{

_keyboardIsVisible = YES;

}

- (void)keyboardDidHide

{

_keyboardIsVisible = NO;

}

- (BOOL)keyboardIsVisible

{

return _keyboardIsVisible;

}

时间: 2024-10-10 21:14:35

ios如何判断键盘是否已经显示的相关文章

iOS—收起虚拟键盘的各种方法

本文章转自—http://justcoding.iteye.com/blog/1476171 使用虚拟键盘来输入资讯,是iOS的重要互动方式之一,虚拟键盘通常会自动出现在可以编辑的UITextField或是 UITextView 的编辑事件中,叫出键盘固然容易,但是要把它收起来,可就没有这么简单,之前在 UITextField 输入结束后的收起小键盘的方式一文中,介绍了如何在编辑完成之后收起虚拟键盘,但是如果您的元件并没有对应的事件可以让你收起虚拟键盘,那又该如何做?下列我们以类似的元件 UIT

iOS 9应用开发教程之显示编辑文本标签文本框

iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将主要讲解在iOS中,用来显示和编辑文本的三个视图:标签.文本框和文本视图. ios9只读文本——标签 标签视图是一个只读的文本视图,它用于在应用程序中为用户显示少量的信息,如图2.16所示.在此图中文字的显示使用的就是标签视图.标签视图一般使用UILabel类实现.   图2.16  美容相机 [示

iOS开发隐藏键盘方法总结

iOS开发里键盘是经常需要打交道的地方,下面为大家带来我整理总结的几种隐藏键盘的方法. 一.隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件.在点击软键盘右下角的“Return”按钮后,会触发该事件.该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件). - (IBAction)TextField_DidEndOnExit:(id)sender 

IOS 隐藏软键盘的3种方法

IOS开发里软键盘是经常需要打交道的地方,下面为大家带来我整理总结的3种隐藏键盘的方法. 使用软键盘的 Done 键隐藏键盘 出发软键盘隐藏最常用的事件是文本框的 Did End on Exit,它在用户按软键盘中的 Done 键时发生.选中一个UITextField控件,点击鼠标右键弹出面板,鼠标左键按住 Did End on Exit 事件旁边的圆圈,然后拖曳到右侧 .h 文件中,命名为 CloseTheKeyBoard,在 m 文件中具体实现如下图所示(此处同时显示 .h 文件与 .m 文

Xamarin iOS教程之键盘的使用和设置

Xamarin iOS教程之键盘的使用和设置 Xamarin iOS使用键盘 在文本框和文本视图中可以看到,当用户在触摸这些视图后,就会弹出键盘.本节将主要讲解键盘的输入类型定义.显示键盘时改变输入视图的位置等内容. Xamarin iOS定制键盘的输入类型 键盘的类型不只一种,而是有很多种的.当用户要实现编辑一个联系人时,键盘就会随着所输入的内容不同而发生变化.例如当要输入联系人的电话号码时,键盘就变为数字键盘.在不同的地方使用不同类型的键盘,会使用户的操作变得简单.要定制键盘的显示类型其实很

【转】IOS 输入框被键盘遮盖的解决方法

做IOS开发时,难免会遇到输入框被键盘遮掩的问题.上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了. 有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象( UIScrollView )中,然后滚动视图实现输入框不被软键盘覆盖,个人觉得此方案好是好,但是太过麻烦. 有的解决方案是通过一个通知 UIKeyboardDidShowNotification去实现的,需要用到事件监听,而且需要自己定义并实现“将要开始编辑”与“结束编辑”这两个监听事件中的方法.本人也觉得很麻烦. 参

ios动态获得键盘高度,并改变对话框的位置

NSNotificationCenter:键盘出现.消失时的通知 UIKeyboardWillShowNotification;UIKeyboardDidShowNotification;UIKeyboardWillHideNotification;UIKeyboardDidHideNotification; 在要使用键盘的视图控制器中(既viewDidLoad中),接收键盘事件的通知: - (void) registerForKeyboardNotifications{ //键盘改变时候会调用

iOS: 让键盘消失的的4种方法

转自:http://leopard168.blog.163.com/blog/static/168471844201422121310352/ 在iOS app中,只要用到编辑框(UITextField)的地方,就得处理键盘消失 (dismiss keyboard). 我先后用过4种方法,来处理键盘消失的问题. 1. 通过UITextFiledDelegate,来释放第一响应者 (resignFirstResponder): 这种通过delegate释放键盘的代码如下: -(BOOL)textF

iOS TextField数字键盘的限制位数处理(特别适用于手机登陆)

Hi~大家好,这么长时间不和大家见面了,说来惭愧,最近忙于工作,已经很久没有写博客了, 接下来和大家分享一下在iOS下数字键盘限位的处理---好,废话不多说直接上代码 在用手机号登陆的时候大家有没有遇到这个问题? 就是一边想要输入到一定位数要限制输入,但是删除的时候还要能删除,今天小编遇到了这个问题,解决好半天,最终把它解决了,好了接下来给大家分享一下 相信大家都知道,输入框是用 UITextField的吧,其他的都不说了,要用textField的话实现代理方法,最重要的一点是设置他的键盘模式为