Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableViewController模糊背景不随滚动显示_Ios_Swift_Uitableview_Uivisualeffectview_Uiblureffect - Fatal编程技术网

Ios UITableViewController模糊背景不随滚动显示

Ios UITableViewController模糊背景不随滚动显示,ios,swift,uitableview,uivisualeffectview,uiblureffect,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) 当我向下滚动时,背景图像仍然

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

 var blur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
 var blurView = UIVisualEffectView(effect: blur)
 blurView.frame = self.view.bounds
 self.view.insertSubview(blurView, atIndex: 0)
当我向下滚动时,背景图像仍然在那里,但模糊效果只在一次适合视图的前几个单元格中存在。如何使其在滚动时具有模糊效果


我试着给每个单元格添加模糊效果,但这让它看起来很奇怪

对于
UITableViewController
s
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
}