上图是我做的一个小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