iOS8的模糊视图使用

iOS7之后,在iPhone上到处都可以见到模糊视图,并且在2014WWDC上苹果也放开了 关于模糊视图的API,感觉又是有必要来学一学,在这里就学习和总结一下。

使用步骤

1.创建一个 UIVisualEffectView,选择适合的虚拟效果,并且设置它的Position&Size
2.在 “contentView” 属性上添加 想要显示在VisualEffectView上的子视图,如按钮,图片之类的。
3.给自己选择合适自己的父视图,addSubview:VisualEffectView
探索:
利用Reveal视图分析工具可以看出 “UIVisualEffectView” 有三个子视图:

UIVisualEffectBackdropView;
UIVisualEffectFilterView; (模糊作用的地方)
UIVisualEffectContentView;(子视图添加到地方)

注意点

1.任何子视图必须添加到 UIVisualEffectView 的contentView属性上,而不是直接 UIVisualEffectView addSubViews;
2.使用 UIVisualEffectView 避免 设置透明度少于 1.0, 否则会使自己和父视图”显示不正常甚至不显示”。
3.使用遮罩(Masks),可以为其效果视图的contentView上,但给其效果视图的父视图添加遮罩会使效果失去作用,并且”Crash”.
4.在使用VisualEffectView 使用快照时必须捕捉 整个屏幕或者窗口使得Effect可见。

创建一般模糊视图的代码如下:

UIVisualEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]; 
UIVisualEffectView *vew = [[UIVisualEffectView alloc]initWithEffect:blur]; 
view.frame = self.view.bounds; 
view.center =imgeView.center; 
[view.contentView addSubview:button]; 
[self.view addSubview:�iew];

你可能感兴趣的:(iOS8的模糊视图使用)