[英]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)
當我向下滾動時,背景圖像仍然存在,但是模糊效果僅存在於一次適合視圖的前幾個單元格中。 如何滾動滾動時出現模糊效果?
我嘗試將模糊效果添加到每個單元格,但這使它看起來真的很奇怪。
對於UITableViewController
的self.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.