iOS 7 といえばあの淡くぼけた曇りガラス風のビュー。
さっそく自分のアプリに取り入れたいと思っている方もいるかと思います。
そこで、今回は曇りガラス風のビューを簡単に使えるようにしてくれるオープンソースのライブラリを紹介したいと思います。
iOS-blur
iOS 7 の UIToolbar はもとから曇りガラス風のエフェクトがかかってるんだから、それをそのまま使えばええやん!
というのがこの iOS-blur です。
実装は簡単で、UIToolbar のレイヤーを盗んで使っているだけ。
一番手っ取り早い感じはしますが、iOS のコンポーネントが裏で何をやってるのか分からないし、構造が変わると動かなくなるのであまり使いたくありません。
REFrostedViewController
曇りガラス風のビューを使ったスライドするメニューです。
パンジェスチャーで閉じる機能も実装されているので、曇りガラス風ビューをメニューに使いたいならこれが一番良さそうです。
ちなみにビュー単体では使えません。
romaonthego / REFrostedViewController
ios-realtimeblur
単体で使用できる曇りガラス風ビューです。
名前の通りリアルタイムに動作しますし、スクロールビューの動きが悪くなることもないのですが、残念ながらかなりチラつきが見えます。
CFIFrostedOverlayView
GPUImageを使った曇りガラス風ビューです。
iOS, Mac どちらでも使えるとのことですが、ビルドがうまくいかず時間も無かったため試せていません。
CodaFi / CFIFrostedOverlayView
FXBlurView
単体で使用できる曇りガラス風ビューです。
ビューを別クラスのシングルトンオブジェクトで管理し、一定時間ごとに背景画像を更新する仕組みになっています。
CSNotificationView
曇りガラス風の通知ビューです。
良さそうだと思ったのですが、三年ながら iOS-blur と同じく UIToolbar のレイヤーを利用するものでした。
どれを使えばいいのか
今のところオススメなのは FXBlurView と REFrostedViewController です。
他のものは用途に合わせて選べばいいのではないかと思います。
ブラーエフェクトのかけ方にもいろいろありますが、特に REFrostedViewController の方法は tintColor がいい感じに適応されていて良さそうでした。
はじめは GPUImage を使ったほうがいいのではと思っていましたが、GPUImage だとブラーエフェクトがあまり綺麗ではない感じがしたのでやめました。
僕の使い方が間違っていただけかもしれませんが…