1. ホーム
  2. ios

[解決済み] swiftで背景にぼかし効果を加える

2022-06-12 22:15:08

質問

ビューコントローラに背景画像を設定しています。しかし、この背景にぼかし効果を加えたいのです。どうすればよいでしょうか?

私は以下のコードで背景を設定しています。

self.view.backgroundColor = UIColor(patternImage: UIImage(named: "testBg")!)

インターネット上で画像にぼかしを入れる方法を見つけたのですが、これを自分の背景に実装するにはどうしたらよいのでしょうか?

var darkBlur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
// 2
var blurView = UIVisualEffectView(effect: darkBlur)
blurView.frame = imageView.bounds
// 3
imageView.addSubview(blurView)

どのように解決するのですか?

私はこのコードをテストし、それは正常に動作しています。

let blurEffect = UIBlurEffect(style: UIBlurEffect.Style.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(blurEffectView)

Swift 3.0用です。

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(blurEffectView)

Swift 4.0用です。

let blurEffect = UIBlurEffect(style: UIBlurEffect.Style.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(blurEffectView)

ここで、結果を見ることができます。

または、この lib を使うことができます。

https://github.com/FlexMonkey/Blurable