全局关闭所有键盘、ActionSheet、AlertView

话不多说,直接上代码

关闭所有键盘

- (void)hideKeyBoard

{

      for (UIWindow* window in [UIApplication sharedApplication].windows){

              for (UIView* view in window.subviews){

                       [self dismissAllKeyBoardInView:view];

              }

       }

}

-(BOOL) dismissAllKeyBoardInView:(UIView *)view

{

     if([view isFirstResponder]){

              [view resignFirstResponder];

              return YES;

     }

     for(UIView *subView in view.subviews){

              if([self dismissAllKeyBoardInView:subView]) {

                    return YES;

             }

     }

    return NO;

}

关闭ActionSheet、AlertView

- (void)closeModalView{

     for (UIWindow* window in [UIApplication sharedApplication].Windows){

             for (UIView* view in window.subviews){

                   [self dismissActionSheetAndAletrtViewInView:view];

            }

       }

}

- (void)dismissActionSheetAndAletrtViewInView:(UIView*)view{

           if ([view isKindOfClass:[UIActionSheet class]]){

              UIActionSheet *actionView = (UIActionSheet *)view;

     [actionView dismissWithClickedButtonIndex:actionView.cancelButtonIndex animated:NO];

           }else if ([view isKindOfClass:[UIAlertView class]]){

                    UIAlertView *alertView = (UIAlertView *)view;

     [alertView dismissWithClickedButtonIndex:alertView.cancelButtonIndex animated:NO];

           }else{

                 for (UIView* subView in view.subviews){

                         [self dismissActionSheetAndAletrtViewInView:subView];

                }

          }

}

你可能感兴趣的:(全局关闭所有键盘、ActionSheet、AlertView)