簡體   English   中英

UITableViewController模糊背景不顯示滾動

[英]UITableViewController Blur Background Not Showing With Scroll

我已經為UITableViewController設置了背景圖像,然后使用以下代碼添加了模糊效果:

 var blur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
 var blurView = UIVisualEffectView(effect: blur)
 blurView.frame = self.view.bounds
 self.view.insertSubview(blurView, atIndex: 0)

當我向下滾動時,背景圖像仍然存在,但是模糊效果僅存在於一次適合視圖的前幾個單元格中。 如何滾動滾動時出現模糊效果?

我嘗試將模糊效果添加到每個單元格,但這使它看起來真的很奇怪。

對於UITableViewControllerself.view是它自己的UITableView 這意味着您添加到self.view任何子視圖都將與表視圖的內容一起滾動。

您可以創建自己的UIViewController ,手動設置UITableView並將其放置在模糊視圖的前面(而不是將模糊視圖放置在表格視圖的內部),也可以在滾動表格視圖時移動模糊視圖的位置。

要移動模糊視圖以補償表格視圖的偏移量,您可以執行以下操作:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    var blurViewFrame = CGRect()
    blurViewFrame.size = view.bounds.size
    blurViewFrame.y = tableView.contentOffset.y
    blurView.frame = blurViewFrame
}

暫無
暫無

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

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