2016-06-22 1 views
0

アップルのメッセージアプリケーションのように、ナビゲーションバーの下に私のscrollViewを少しぼかして表示させるという効果を得ようとしています。私は、次の方法を試しており、それらのどれも働いていない:私のUINavigationBarの後ろにぼやけたエフェクトを得る方法

1:

self.navigationController?.navigationBar.isTranslucent = true 

2:

self.navigationController?.navigationBar.barStyle = UIBarStyle.blackTranslucent 

3:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default) 

4:

self.navigationController?.navigationBar.backgroundColor = UIColor.clear() 

私は上記の方法のバリエーションを持つ多くの記事を読んできましたが、そのほとんどを試してみましたが役に立たなかった。私はisTranslucent = trueを設定するのは正確にその効果を得ることだと思った。私が試してみるべきことが他にありますか?基本的に、私はちょうど私のnavigationBarを少しシースルーしたい。

答えて

0
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark) 
    let blurEffectView = UIVisualEffectView(effect: blurEffect) 
    blurEffectView.frame = (self.navigationController?.navigationBar.bounds)! 
    self.navigationController?.navigationBar.addSubview(blurEffectView) 
2

UIViewEffectViewは、あなたが探して、よくhere実証されているものです。

let bounds = self.navigationController?.navigationBar.bounds as CGRect! 
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light)) 
visualEffectView.frame = bounds 
self.navigationController?.navigationBar.addSubview(visualEffectView) 

言ったこと、一緒にあなたの方法1と2を使用するにも動作するはずです:

self.navigationController.navigationBar.translucent = YES; 
self.navigationController.navigationBar.topItem.title = @"Contacts"; 
self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 

enter image description here

0

ここで、このコードをナビゲーションに追加できますバーブラー効果は、この機能は最適ですあなた

func navigationBlurEffect() { 
    // Add blur view 
    let bounds = self.navigationController?.navigationBar.bounds as CGRect! 
    let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light)) 
    visualEffectView.frame = bounds 
    visualEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] 

    //here you can choose one 
    self.navigationController?.navigationBar.addSubview(visualEffectView) 
    // Or 
    /* 
If you find that after adding blur effect on navigationBar, navigation buttons are not visible then add below line after adding blurView code. 
    */ 
    self.navigationController?.navigationBar.sendSubviewToBack(visualEffectView) 

    // Here you can add visual effects to any UIView control. 
    // Replace custom view with navigation bar in above code to add effects to custom view. 
} 

enter image description here

// **これでのみ像振れコード そして、あなたは画像ブラー効果のために使用することができ、このコードの

func getImageBlur(image:UIImageView){ 
     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light) 
     let blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView.frame = (image.bounds) 
     blurEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] 
     image.addSubview(blurEffectView) 
    } 
関連する問題