我为我的UITableViewController设置了背景图片,然后使用以下代码添加了模糊效果:
var blur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurView = UIVisualEffectView(effect: blur)
blurView.frame = self.view.bounds
self.view.insertSubview(blurView, atIndex: 0)
当我向下滚动时,背景图像仍然存在,但模糊效果仅适用于一次适合视图的前几个单元格。当我滚动时,如何才能使模糊效果出现?
我尝试将模糊效果添加到每个单元格,但这看起来很奇怪。
答案 0 :(得分: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
}
并将其放置在模糊视图的前面(而不是将模糊视图放在表格视图中),也可以移动模糊滚动表视图时的视图位置。
要移动模糊视图以补偿表格视图的偏移,您可以执行以下操作:
/?controller=posts&action=index