目標: アプリでぼかしビューを作成します。
私が使用するコード:
func createBlurBackgroundView()
{
if !UIAccessibilityIsReduceTransparencyEnabled()
{
if blurredSubView == nil || blurredSubView.superview == nil
{
print("Create blurred background view")
self.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
blurredSubView = UIVisualEffectView(effect: blurEffect)
blurredSubView.frame = self.bounds
self.insertSubview(blurredSubView, atIndex: 0)
}
}
else
{
print("Transparency disabled!! no blur view")
}
}
結果: シミュレーターですべて正常に動作します。
しかし、iPhone と iPad で実行すると、次のようになります。
「透明度を下げる」設定を変更していないことに注意してください。
では、この黒い背景をぼかしずにスナップショットを撮りたいと思ったら、なんと!? フォト ストリームでは、正確に正しいぼかしビューの写真を見ました...
また、ホームボタンをダブルクリックしてマルチタスクインターフェースを見ると、ぼかしビュー効果が見られました!
詳細情報: iphone6s、ipad air2、iOS 9.3.1、Xcode バージョン 7.3 の両方を使用しています。
この問題を解決するのにとても疲れました。スナップショット画像を取得して画像にぼかし効果を適用するなどの他の方法を試しましたが、他のバグや他の短所があります