iOS磨砂(半透明)效果实现


291F12A6-B038-4D48-9A26-E650F2BE2D1A.png

上图是我做的一个小demo里面的截图,如图所示,弹出框的背景是现在app大量使用的半透明磨砂效果,那么如果去实现这种效果呢?

// 判断系统版本是否支持 8.0
    UIView *blurEffectView;
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
        // 磨砂效果
        UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
        // 磨砂视图
        blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
    } else {
        // 屏幕截图 - 调用苹果官方框架实现磨砂效果
        UIImage *screenShot = [UIImage screenShot].applyLightEffect;
        blurEffectView = [[UIImageView alloc] initWithImage:screenShot];
    }

    //    [self addSubview:blurEffectView];

    [self insertSubview:blurEffectView atIndex:0];

    [blurEffectView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self);
    }];

苹果在8.0之前提供了这种效果的第三方框架,在8.0之后干脆将这个框架封装在api里面,所以兄弟们在使用的时候像我这样做一下判断即可。

  • 判断版本号
  • [self insertSubview:blurEffectView atIndex:0];插入最下面

    ps:另外附上苹果提供的第三方框架给大家。
    UIImage+ImageEffects下载地址http://download.csdn.net/detail/baitxaps/8893093
  •  

posted @ 2016-03-30 15:27  iOS开发群529052159  阅读(770)  评论(0)    收藏  举报