我正在尝试向使用背景颜色的图层添加高斯模糊。
下面的代码在标题文本周围添加了一个框并且工作得很好,我只是想让白色变得模糊。
title.layer.borderColor = UIColor.white.cgColor
title.layer.backgroundColor = UIColor.white.cgColor
title.layer.borderWidth = 4
title.layer.cornerRadius = 5
不使用 imageView 是否可以实现?
谢谢!
最佳答案
如果您正在为 Mac 操作系统编码,那么下面 Vlad 的解决方案将简单而优雅地为您工作。 Mac OS CALayers 允许您添加一系列核心图像过滤器,这些过滤器“实时”应用于内容。 iOS 没有。由于您在问题中提到了 UIColor
我猜测您的问题是针对 iOS 的。
在 iOS 上,可能需要使用 Core Image 过滤器进行大量手动编码才能对图层执行此操作。 (您需要编写代码来捕获要模糊的 View 内容,将其转换为 CIImage
,将其交给 Core Image 进行模糊,然后映射生成的 CIImage
返回到 CGImage
并将其安装到您的图层中。)
但是,如果您将 UIVisualEffectView
添加到 View 中,则可以模糊下面 View 的内容。 UIVisualEffectView
非常易于使用。有许多在线教程向您展示如何使用它们。这就是我的建议。
关于swift - 添加高斯模糊到图层背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198402/