2016-04-06 5 views
4

目的:アプリでぼかしビューを作成します。UIVisualEffectViewを使ってぼかしビューを作成し、シミュレータでは正しく表示されますが、iphoneやipadでは正しく表示されません。

私が使用するコード:

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") 
    } 
} 

結果: すべてがシミュレータ上で正常に動作します:

enter image description here

しかし、私はiphoneやiPad上でそれを実行したときに、それがどのように見えるに: enter image description here

注記私は「透過率を減らしてはいけません。 " 設定!

次に、この黒い背景のスナップショットをぼかしなしで撮りたいときは、何を想像していますか?写真ストリームでは、まったく正しいぼかし画像を見ました...

また、ホームボタンをダブルクリックしてマルチタスクインターフェイスを見ると、ぼかし効果が見えました!

enter image description here

詳細: 私はiphone6s、アプリのAIR2、両方のiOS 9.3.1 Xcodeのバージョン7.3

を使用し、私はこの問題を解決しようとする上でとても疲れている、私のような他の方法を試してみましたスナップショットイメージを取得し、その後、画像上にぼかし効果を適用するが、他のバグやその他のCONの

+0

'UIAccessibilityIsReduceTransparencyEnabled()'が返すものを確認しましたか? – Jelly

+0

@jellyはい、私のコードをチェックしてください、印刷情報があり、設定もチェックしました –

+0

どこで 'createBlurBackgroundView()'を呼び出しますか? – Jelly

答えて

4

UIVisualEffectViewんを取り出しましたSpriteKitで動作しません。誰かが知っているのであれば、答えを自由に編集してください。私の推測では、基本的な実装では、より効果的ではないさまざまなAPIを使用しています。シミュレータは実際のデバイスをシミュレートするためのあらゆる種類のトリックを行い、実際のデバイスとは異なるものを使用する可能性があります。そのため、シミュレータ上で動作します。

0

self.backgroundColor = UIColor.clearColor().