Objective-C
iOS

4行でBlurView(刷りガラス風)Xcode6&iOS8

More than 3 years have passed since last update.


StoryBoardとコード4行で純正クラスを使いブラーを設定

前提として、StoryboardにUIViewを配置して、アウトレット接続をしておいてください。

名前はblurViewにします。

また、そのUIViewはbackground colorをClearColorに設定します。

//StoryboardからコネクションしたUIView

@property (weak, nonatomic) IBOutlet UIView *blurView;

ViewDidLoad内でUIVisualEffectとUIVisualEffectViewの設定をします。

- (void)viewDidLoad

{
[super viewDidLoad];

//ブラースタイルの決定
UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
//VisualEffectViewにVisualEffectを設定
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
//VisualEffectViewを_blurViewと同じサイズに設定
effectView.frame = _blurView.bounds;

//_blurViewにVisualEffectViewを追加
[_blurView addSubview:effectView];

}

これを、Xcode6&iOS8Simulatorで実行するとブラーが完成します。

iOS7Simulatorでは何も現れませんのでご注意を。。。

今回の例は、storyboardを使う例ですが、

コードでガリガリ書く方は、最後に

    [self.view addSubview:_blurView];

で、OK

ブラーの種類は3種類


  • UIBlurEffectStyleExtraLight(非常に明るい)

  • UIBlurEffectStyleLight(明るい)

  • UIBlurEffectStyleDark(暗い)

storyboard上で実現させて、autolayoutを使いつつ

Size ClassesでiOSらしい実装を目指そうと思います。