app进入后台显示模糊效果

一、使用iOS 8之后的系统自带的UIVisualEffectView
首先懒加载一个UIVisualEffectView

- (UIVisualEffectView *)effectView {
    if (!_effectView) {
        // 毛玻璃view 视图
        _effectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
        // 设置模糊透明度
        _effectView.alpha = 1.f;
        _effectView.frame = [UIScreen mainScreen].bounds;
    }
    
    return _effectView;
}

添加

-(void) addBlurEffectWithUIVisualEffectView {
    [[[UIApplication sharedApplication] keyWindow] addSubview:self.effectView];
}

移除

-(void) removeBlurEffectWithUIVisualEffectView {
    [UIView animateWithDuration:0.5 animations:^{
        [self.effectView removeFromSuperview];
    }];
}

在- (void)applicationWillResignActive:(UIApplication *)application 方法中实现添加方法。
在- (void)applicationDidBecomeActive:(UIApplication *)application方法中实现移除方法。

你可能感兴趣的:(app进入后台显示模糊效果)