最佳答案
模糊效果精确地应用于整个屏幕,但在邮件应用程序的情况下则应用于选定的单元格。 如果您只想将效果应用于您的表格 View ,您可以在每个单元格的内容之上放置一个模糊的视觉 View ,并将其效果设置为 nil
cell.blurView.effect = nil
当一个单元格被选中时出现。为此,请使用 didSelectRow 函数并重新加载数据,以便在最后获得所需的效果。 (您甚至可以使用 UIView.animate() 为更改设置动画)
UIView.animate(withDuration: 0.5, animations: { cell.blurView.effect = UIBlurEffect.init(style: .light) }
问题是我告诉你的解决方案不是很节能,但我可以想到另一个: 考虑有两个模糊 View ,当没有选择单元格时不显示任何效果,然后您可以在选择单元格后立即设置两个模糊 View ,以便第一个占据单元格顶部的整个屏幕部分,另一个覆盖底部。
最后一个想法: 您可以在 didSelectRow 方法中向整个屏幕添加一个 blurView
UIApplication.shared.keyWindow?.addSubview(blurView)
然后在上面添加单元格,当然,例如在点击模糊 View 时删除所有这些
希望对您有所帮助;)
关于xcode - 模糊 TableView 除了一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40448962/