簡體   English   中英

TableView與圖像背景和模糊效果 - 迅速

[英]TableView with image background and blur effect - swift

我有一點問題:我想在TableViewController中將圖像設置為背景。 我試過這個:

class SquadreController: UITableViewController {

    override func viewDidLoad()
    {
        super.viewDidLoad()

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

    }

然后我給視圖賦予模糊效果,如下所示:

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

但是有一個大問題。 我在TableView中工作,TableView,TableCell,NavigationItem等在我應用模糊后都消失了。 有人能幫我嗎?

非常感謝!

嘗試使用view.insertSubView(blurView, atIndex: 0)而不是view.addSubview(blurView) as! UIImageView view.addSubview(blurView) as! UIImageView

我們還可以使用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

這個問題是一個較老的問題,Epic Defeater的回應在某種程度上起作用,有更好的方法來實現這一目標。 您需要覆蓋背景視圖,而不是添加blurView 具體來說,您需要覆蓋tableView.backgroundView

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

這僅在您將背景顏色設置為清除時才有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM