在swift中添加UIVisualEffectView到tableView

时间:2016-06-10 12:36:44

标签: ios swift uitableview uivisualeffectview

我在storyBoard中的tableView顶部的Xcode中添加了一个UIVisualEffectView对象形式的Object Library。 tableView的第一个单元格位于UIVisualEffectView对象的后面。我想在模糊区域下方显示表格视图的第一个单元格。此外,当我滚动表格单元格时,它应该在模糊区域后面。 我尝试使用此代码

self.tableView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0)
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(100, 0, 0, 0)

但是当我向上滚动时,细胞不会落后于模糊区域。 帮助

此外,我正在尝试更改模糊区域的颜色。目前它的白色为光效,黑色为暗效果。如何设置特定颜色以模糊区域而不影响其行为?

2 个答案:

答案 0 :(得分:1)

你的细胞不能走到桌子外面。所以你需要扩展tableView,然后添加contentInset。

还要确保tableView是透明的,visualEffectView在tableView下。

答案 1 :(得分:0)

简单方法是将UIVisualEffectView作为表视图节标题视图,例如

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let blurEffect = UIBlurEffect(style: .Light)
    let blurView = UIVisualEffectView(effect: blurEffect)
    return blurView
}

override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 44.0
}
它看起来像 enter image description here