2015-07-28 24 views
5

Mam mały problem: Chciałbym ustawić obraz na tle w TableViewController. Próbowałem to:TableView z tłem obrazu i efektem rozmycia - szybki

class SquadreController: UITableViewController { 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

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

    } 

Potem dają efekt rozmycia widoku tak:

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

Ale nie jest to duży problem. Pracuję w TableView i TableView, TableCell, NavigationItem, itp. Wszystkie zniknęły po I zastosować rozmycie. Czy ktoś może mi pomóc?

Wielkie dzięki!

+1

Jak napisać view.insertSubView (blurView, atIndex: 0) –

+0

Czy byłeś w stanie rozwiązać problem? –

Odpowiedz

7

Spróbuj użyć view.insertSubView(blurView, atIndex: 0) zamiast view.addSubview(blurView) as! UIImageView

+0

ahahahah jesteś geniuszem, albo jestem głupim XD dziękuję dużo, a Goodnight (jestem włochem) !!! –

+0

W moim przypadku 'self.tableView.backgroundView! .addSubview (blurView)' zrobił lewę zamiast 'view.insertSubView (blurView, atIndex: 0)' – cdf1982

0

Możemy również dodać podrzędny poniżej lub powyżej innych poglądów korzystających 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 
0

To pytanie jest starszy pytanie i odpowiedź Epic Defeater za robi w pracy sposób jest o wiele lepszy sposób na osiągnięcie tego. Zamiast dodawać blurView, należy zastąpić widok tła. W szczególności musisz zastąpić tableView.backgroundView.

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

ta będzie działać tylko wtedy, gdy ustawić kolor tła, aby wyczyścić.