2015-07-28 20 views
5

Ich habe ein kleines Problem: Ich möchte ein Bild in einem TableViewController Hintergrund setzen. Ich versuchte dies:TableView mit Bildhintergrund und Blur-Effekt - swift

class SquadreController: UITableViewController { 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

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

    } 

Dann habe ich die Unschärfe-Effekt auf die Ansicht geben, wie folgt aus:

let blur = UIBlurEffect(style: UIBlurEffectStyle.Light) 
let blurView = UIVisualEffectView(effect: blur) 
blurView.frame = self.view.bounds 
view.addSubview(blurView) 

Aber es ist ein großes Problem. Ich arbeite in einer TableView und die TableView, TableCell, NavigationItem usw. sind alle verschwunden, nachdem ich die Unschärfe angewendet habe. Kann mir jemand helfen?

Vielen Dank! Wir können auch ein Subview unter oder über jede andere Ansichten hinzufügen mit insertSubview

//Inserting below your subView 
self.view.insertSubview(subview1_name, belowSubview: subview2_name) 

//Inserting above your subView 
self.view.insertSubview(subview1_name, aboveSubview: subview2_name) 

/// You can use any of your view, instead of self.view 
+1

Wie schreibt man view.insertSubView (blurView, atIndex: 0) –

+0

Konnten Sie das Problem beheben? –

Antwort

7

Versuchen view.insertSubView(blurView, atIndex: 0) statt view.addSubview(blurView) as! UIImageView

+0

ahahahah du bist ein Genie, oder ich bin ein dummer XD vielen Dank Kerl, und Goodnight (ich bin italienisch) !!! –

+0

In meinem Fall hat 'self.tableView.backgroundView! .addSubview (blurView)' den Trick statt 'view.insertSubView (blurView, atIndex: 0)' gemacht – cdf1982

0

mit Es gibt einen viel besseren Weg, dies zu erreichen. Anstatt blurView hinzuzufügen, müssen Sie die Hintergrundansicht überschreiben. Speziell müssen Sie tableView.backgroundView überschreiben. Diese

let blur = UIBlurEffect(style: .light) 
let blurView = UIVisualEffectView(effect: blur) 
blurView.frame = self.view.bounds 
tableView.backgroundView = blurView 

funktioniert nur, wenn Sie die Hintergrundfarbe festgelegt haben zu löschen.

0

Diese Frage ist eine ältere Frage und epische Defeater Antwort tut in einer Art und Weise der Arbeit