ios - 在 Swift 中模糊 UILabel
问题描述
如何模糊 UILabel 的文本?
UIBlurEffectView 不是模糊文本而是整个背景。
你能告诉我我怎样才能做到这一点吗?
谢谢,
解决方案
由于这是一个有趣的问题,我查阅了 UILabel 文档。似乎没有一种方法只负责文本绘制,可以重写。
所以我解决你的问题的方法是这样的:
- 使用单独的背景和文本绘制方法子类化 UIView。
- 在文本绘制方法中,将文本绘制到离屏图像上。
- 然后将模糊滤镜(核心图像框架)应用于该图像。
- 在背景上绘制模糊图像(可能您的子类可能有 2 个 UIView:一个用于背面,另一个用于文本)。
所有这一切的明显缺点是这个自定义子类会错过 UILabel 的属性文本和多行分割的所有功能。