在 Swift 中为完整的 UITableView 创建模糊效果

Posted

技术标签:

【中文标题】在 Swift 中为完整的 UITableView 创建模糊效果【英文标题】:Creating a blur effect on a full UITableView in Swift 【发布时间】:2017-06-15 02:50:14 【问题描述】:

我有以下代码:

if !UIAccessibilityIsReduceTransparencyEnabled()
    
        view.backgroundColor = UIColor(patternImage: UIImage(named: "sunset-photo.jpg")!);

        let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light);
        let blurEffectView = UIVisualEffectView(effect: blurEffect);

        blurEffectView.frame = view.bounds;
        blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight];

        view.addSubview(blurEffectView);
    
    else
    
        view.backgroundColor = UIColor(red: 110/255, green: 110/255, blue: 110/255, alpha: 1.0);
    

    return view;

这对于规则 UIViews 来说很好,但表格视图会滚动。向下拖动然后创建黑色背景并向下滚动显示没有模糊效果的图像。我该如何解决?顺便说一下 swift 新手。

【问题讨论】:

blurEffectView.frame = view.bounds更改为blurEffectView.frame = view.frame 这不太对。 还有其他想法吗?我无法让它工作。 【参考方案1】:

将tableview背景颜色设置为。清晰的颜色

【讨论】:

你能指定更多吗?谢谢。 我认为他的意思是您应该将表格视图的背景颜色设置为清除,并在表格视图后面有一个视图。然后,tableview 后面的视图将具有模糊效果的图像,并且当 tableview 本身滚动时,您不会看到任何奇怪的问题。

以上是关于在 Swift 中为完整的 UITableView 创建模糊效果的主要内容,如果未能解决你的问题,请参考以下文章

Swift 在 UITableView 中为容器视图设置约束

如何在 Swift 中为 UIRefreshControl 添加可访问性

Swift UITableView自动高度

如何将完整的 UserDefaults 列表放入 tableview - Swift 3

当单元格高度为动态时设置 UITableView 的高度

在 UITableViewCell 中为 UITableView 设置动画