将高斯模糊添加到层背景颜色



我正在尝试为使用backgroundColor的层添加高斯模糊。

下面的代码在标题文本周围添加了一个框,效果很好,我只想模糊白色。

title.layer.borderColor = UIColor.white.cgColor
title.layer.backgroundColor = UIColor.white.cgColor
title.layer.borderWidth = 4
title.layer.cornerRadius = 5

这在不使用imageView的情况下可能吗?

谢谢!

如果您正在为Mac OS进行编码,那么下面Vlad的解决方案将简单而优雅地为您服务。Mac OS CALayers允许您添加一组核心图像过滤器,这些过滤器"实时"应用于内容。iOS没有。既然你在问题中提到了UIColor,我猜你的问题是针对iOS的。

在iOS上,可能需要使用Core Image过滤器进行相当多的手动编码才能对图层进行处理。(您需要编写代码来捕获要模糊的视图内容,将其转换为CIImage,将其交给Core Image进行模糊,然后将生成的CIImage映射回CGImage,并将其安装在您的层中。(

但是,如果在视图中添加UIVisualEffectView,则会模糊下面视图的内容。UIVisualEffectView非常易于使用。网上有许多教程向您展示如何使用它们。这就是我的建议。

相关内容

  • 没有找到相关文章

最新更新