iOS让键盘消失的技巧 .

焦点在UITextField或UITextView中的时候,键盘会出现,想点一下背景就让键盘消失。这是在手持设备上服合用户的操作习惯。当然方法有很多,在这儿我说一个比较实用的方法。

 

因为UIView默认是不能关联方法调用的,而UIControl则不一样,它可以关联很多方法。而UIControl是UIView的子类,它有UIView的所有特性,于是我们可以把我们的UIView修改为UIControl类,这样再给它关联一个事件,一般就是up in side,这样在这个关联的事件里我们dismiss所有的UITextField或UITextView.

 

这儿有一个递归找view上所有的UiTextField或UITextView,并dismiss的主法:

 

  1. - (void)resignKeyBoardInView:(UIView *)view  
  2. {  
  3.     for (UIView *v in view.subviews) {  
  4.         if ([v.subviews count] > 0) {  
  5.             [self resignKeyBoardInView:v];  
  6.         }  
  7.           
  8.         if ([v isKindOfClass:[UITextView class]] || [v isKindOfClass:[UITextField class]]) {  
  9.             [v resignFirstResponder];  
  10.         }  
  11.     }  
  12. }  
- (void)resignKeyBoardInView:(UIView *)view
{
    for (UIView *v in view.subviews) {
        if ([v.subviews count] > 0) {
            [self resignKeyBoardInView:v];
        }
        
        if ([v isKindOfClass:[UITextView class]] || [v isKindOfClass:[UITextField class]]) {
            [v resignFirstResponder];
        }
    }
}



 

这个方法是不是很实用呀?实用就顶一个!你们的支持是我无限的动力。

 

http://blog.csdn.net/favormm/article/details/7492692

posted @ 2013-05-09 17:55  高笑228  阅读(234)  评论(0编辑  收藏  举报