iOS UIAlertController点击空白处消失

#import 

NS_ASSUME_NONNULL_BEGIN

@interface UIAlertController (TapGesAlertController)

- (void)tapGesAlert;

@end

#import "UIAlertController+TapGesAlertController.h"

@implementation UIAlertController (TapGesAlertController)

- (void)tapGesAlert{
    
  NSArray * arrayViews = [UIApplication sharedApplication].keyWindow.subviews;
    if (arrayViews.count>0) {
        //array会有两个对象,一个是UILayoutContainerView,另外一个是UITransitionView,我们找到最后一个
        UIView * backView = arrayViews.lastObject;
        backView.userInteractionEnabled = YES;
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap)];
        [backView addGestureRecognizer:tap];
    }

}


-(void)tap
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

@end

你可能感兴趣的:(iOS UIAlertController点击空白处消失)