[[userFIEld resignFirstResponder]这种方式实现,其实这算得上是程序主动关闭键盘的(毕竟是自己调用方法实现的),另一种就是用户自己关闭键盘(ipad键盘有一个收起的按钮哦),对于这种事件的捕捉就要用到通知了。
首先要在vIEwdIDload里边注册一个通知
[[NSNotificationCenter defaultCenter] addobserver:self
selector:@selector(keyboarDWillHIDden:)
name:UIKeyboarDWillHIDeNotification object:nil];,
并定义你对该事件的处理方法
- (voID)keyboarDWillHIDden:(NSNotification*)aNotification
{
/*各种折腾*/
........
}
,类似的该方法可以应用于UIKeyboarDWillShowNotification,
UIKeyboarDWillChangeFrameNotification.
--------------------------------------------
iOS开始时经常会在键盘显示时调整界面布局,iOS 5中当切换为中文输入法时,键盘高度会增加,同时给iPad的键盘增加了分割功能,使得键盘处理情况更加多样化。键盘的消息通知有:
通知描述UIKeyboarDWillShowNotification键盘即将显示UIKeyboardDIDShowNotification键盘已经显示UIKeyboarDWillHIDeNotification键盘即将隐藏UIKeyboardDIDHIDeNotification键盘已经隐藏UIKeyboarDWillChangeFrameNotification键盘frame即将改变UIKeyboardDIDChangeFrameNotification键盘frame已经改变在开发中其实这些通知并不能按照你所想的那样发生,要注意以下几点:
1. 当在英文和中文输入法之间切换时,iPhone中并不会产生UIKeyboarDWillChangeFrameNotification和UIKeyboardDIDChangeFrameNotification通知,而iPad中会产生。
2. ChangeFrame Notification会发生在Show或HIDe Notification之前。
3. 在iPad中分割键盘会有HIDe Notification,合并键盘时才有Show Notification。分割时键盘竟然是隐藏的。
---------------------------------------------------
为了关闭d出的软键盘要遍历然后调用resignFirstResponder的吧?今天竟然发现一个关键这个vIEw上可能打开的键盘很简单:[self.vIEw endEditing:YES]; 直接ok了。
总结以上是内存溢出为你收集整理的项目总结-关于收起键盘的处理全部内容,希望文章能够帮你解决项目总结-关于收起键盘的处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)