设置视觉特效UIVisualEffectView是iOS 7开始加入的一项新功能,但是在iOS 8才开放API,目前功能相对比较简单,以实现两种特效:
- 毛玻璃
- 内容鲜活
这里通过UIVisualEffectView演示毛玻璃特效,相对滤镜的方法更加简单
示例代码:
- (void)viewDidLoad {
[super viewDidLoad];
[self setupBackgroundView];
}
// 设置背景图 毛玻璃效果
- (void)setupBackgroundView{
/** 设置毛玻璃效果 设置视觉特效:iOS7开始出现但是没有开放 iOS8开放API
UIBlurEffect:毛玻璃效果
UIVibrancyEffect:内容鲜活(内容可以根据背景色进行变化)
*/
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *effectView = [[UIVisualEffectView alloc]initWithEffect:blurEffect];
// 需要将视效视图添加到目标视图中(效果将会影响后面的内容分层视图或内容添加到视图的contentview视觉效果)
[self.backgroundImageView addSubview:effectView];
// 设置约束
[effectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(UIEdgeInsetsMake(0, 0, 0, 0));
}];
}
如图,背景放置了一张和中心一样的ImageView,通过UIVisualEffectView实现毛玻璃效果: