我正在尝试为使用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
非常易于使用。网上有许多教程向您展示如何使用它们。这就是我的建议。