文章转至: https://cainluo.github.io/14730058185822.html
作者感言
在iOS 8发布的时候,
Apple
介绍了很多iOS 8
的新特性, 比如什么Extensions
,Photo
,Siri
等等之类的, 虽然讲了不少, 但也有很多东西被忽略掉的, 比如今天我们所讲的UIVisualEffect
. 有人会问, 这个类是干嘛的呢? 有人又会说, 这个类我用过, 但不好用等等之类的 的确, 这个类的确是不太好用, 限制性太强了, 能使用的**API
**也就一丢丢, 对于现在的需求逐渐多元化来说, 是远远不够的, 但我们可以期待一下, 或许以后苹果会逐渐的开放这个控件呢~
简介
UIVisualEffect
这个控件其实就是一个高斯模糊的一个实现的类, 它继承与NSObject
, 有三种样式, 分别是:有一个子类叫做**`UIVibrancyEffect`**, 还有一个可调用**`UIVisualEffect`**的类叫做**`UIVisualEffectView`**, 下面让我们来看看怎么去使用吧.
UIBlurEffectStyleExtraLight
UIBlurEffectStyleLight
UIBlurEffectStyleDark
新建工程
这里我们建了一个叫做**
UIVisualEffect
**的工程
布局UI界面
建完一个工程之后, 我们来布局一下UI, 由于这个类有三种样式, 所以我们这里就建立三个**
UIButton
, 并且新建三个ViewController
**, 这样子我们就能比较清晰的看到三种不同的效果了.
这个是和**
Storyboard
**绑定好的页面, 这样子, 我们就可以根据点击自己想要的按钮就跳转到对应的页面去了
在实现之前, 我偷偷的丢了一张图片在工程里面, 也对UI进行了一个布局, 并且关联了其中一个图片的属性, 这里大家凑合着看吧, 毕竟丑~
实现对应的效果
这里我只拿**
ExtraLight
效果来做演示, 其他的两种效果大家可以自行去翻查一下Demo
**代码, 代码都是比较简单的~
这样子就完成了, 下面是具体实现的代码:
self.title = NSStringFromClass(self.class);
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
visualEffectView.alpha = 0.5;
visualEffectView.frame = self.imageView.bounds;
[self.imageView addSubview:visualEffectView];
复制代码
最终效果
工程地址
项目地址: https://github.com/CainRun/New-Features-For-iOS-8