当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS实现从后台切换到前台有毛玻璃效果

iOS实现从后台切换到前台有毛玻璃效果

2018年03月13日  | 移动技术网IT编程  | 我要评论

GCD,青年创业,重金属外壳txt下载

iOS实现从后台切换到前台有毛玻璃效果,为了保护用户的隐私加入了后台毛玻璃效果(其实并没有什么卵用),怎么实现呢,其实很简单,只需要在appDelegate中写几行代码即可。

1. OC版本

首先声明一个变量 visualEffectView
@property (strong, nonatomic)UIVisualEffectView *visualEffectView;

- (UIVisualEffectView *)visualEffectView{
    if (!_visualEffectView) {
        UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
        _visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
        _visualEffectView.frame = [UIScreen mainScreen].bounds;
    }
    return _visualEffectView;
}

//当 app 处于 inactive 状态时, 添加 visualEffectView 。
- (void)applicationWillResignActive:(UIApplication *)application {
    [[UIApplication sharedApplication].keyWindow addSubview:self.visualEffectView];
}

//当 app 处于 active 状态时, 移除 visualEffectView 。
- (void)applicationDidBecomeActive:(UIApplication *)application {
    if (self.visualEffectView) {
        [self.visualEffectView removeFromSuperview];
    }
}

2. swift版本

private var visualEffectView: UIView!

//增加 getVisualEffectView() 方法
private func getVisualEffectView() -> UIView {
    if nil == visualEffectView {
        let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light)
        visualEffectView = UIVisualEffectView(effect: blurEffect)
        visualEffectView.frame = UIScreen.main.bounds
    }

    return visualEffectView
}


//当 app 处于 inactive 状态时, 添加 visualEffectView 。
func applicationWillResignActive(application: UIApplication) {
 // Add visualEffectView
 UIApplication.shared.keyWindow?.addSubview(getVisualEffectView())
}

//当 app 处于 active 状态时, 移除 visualEffectView 。
func applicationDidBecomeActive(application: UIApplication) {
    // Remove visualEffectView
    if nil != visualEffectView {
        visualEffectView.removeFromSuperview()
    }
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网