美文网首页111
iOS实现全局关闭所有键盘,actionSheet和alertV

iOS实现全局关闭所有键盘,actionSheet和alertV

作者: oneDemo | 来源:发表于2016-01-29 15:10 被阅读839次

1、关闭所有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];

             }

        }

}

2、隐藏所有键盘:


- (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;

}

相关文章

网友评论

    本文标题:iOS实现全局关闭所有键盘,actionSheet和alertV

    本文链接:https://www.haomeiwen.com/subject/skcjkttx.html