2015年2月2日月曜日

UIVisualEffectViewを試してみた(iOS8)

iOS7以前までは、画像に対してBlur効果(磨りガラス効果)を適用するためには外部のライブラリを使用する必要がありました。
しかしiOS8になり、ようやくBlur Effectが既存のAPIとして提供されることになったので試してみました。

  1. Blur効果を適用する

            
                let imageView = UIImageView()
                imageView.frame = view.frame
                imageView.image = UIImage(named: "bg_image.png")!
                view.addSubview(imageView)
    
                let darkBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
                let darkBlurView = UIVisualEffectView(effect: darkBlurEffect)
                darkBlurView.frame = CGRectMake(0, 0, 100, 100)
                view.addSubview(darkBlurView)
            
          
    bg_image.pngには好きな画像を選んでください。
    bg_image.pngにBlurがかかったように表示されます。
  2. Blur効果のオプション

    • UIBlurEffectStyle
      1. Dark
      2. Light
      3. ExtraLight
      の3種類が用意されています。
    • ぼかし半径
      変更不可能です。
    • 透明度
      変更可能ですが、alpha値を1未満にするとBlur効果自体が薄れてしまうので、alpha値 = 1で使用することが推奨されています。
    • 色の変更
      UIVisualEffectViewのbackgroundColorを変更しても色は変更されません。Blurの色を変更するためには新しいViewをUIVisualEffectViewの裏側に挿入する必要があります。
    • アニメーションへのBlur
      背景のImageViewやUIVisualEffectViewが動いても、Blur効果は動的に適用されます。
  3. Blur効果の確認テスト

    Blur効果のテスト用コードを書きました。

    ソースはこちら https://github.com/takanori-matsumoto-mulodo/BlurView

              
                git clone git@github.com:takanori-matsumoto-mulodo/BlurView.git
              
             
    で試してみてください

    UIVisualEffectViewをドラッグで動かせるようにして、背景にどのようにBlurがかかるかを確認できます。

0 件のコメント :

コメントを投稿