Ios UITableViewController模糊背景不随滚动显示
我为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) 当我向下滚动时,背景图像仍然
var blur = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurView = UIVisualEffectView(effect: blur)
blurView.frame = self.view.bounds
self.view.insertSubview(blurView, atIndex: 0)
当我向下滚动时,背景图像仍然在那里,但模糊效果只在一次适合视图的前几个单元格中存在。如何使其在滚动时具有模糊效果
我试着给每个单元格添加模糊效果,但这让它看起来很奇怪 对于
UITableViewController
sself.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
}