UITableViewController模糊背景不显示滚动

时间:2015-11-26 21:43:06

标签: ios swift uitableview uivisualeffectview uiblureffect

我为我的UITableViewController设置了背景图片,然后使用以下代码添加了模糊效果:

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

当我向下滚动时,背景图像仍然存在,但模糊效果仅适用于一次适合视图的前几个单元格。当我滚动时,如何才能使模糊效果出现?

我尝试将模糊效果添加到每个单元格,但这看起来很奇怪。

1 个答案:

答案 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