首页 > 解决方案 > 在 Swift 中模糊 UILabel

问题描述

如何模糊 UILabel 的文本?

UIBlurEffectView 不是模糊文本而是整个背景。

你能告诉我我怎样才能做到这一点吗?

谢谢,

标签: iosiphoneswiftuilabeluiblureffect

解决方案


由于这是一个有趣的问题,我查阅了 UILabel 文档。似乎没有一种方法只负责文本绘制,可以重写。

所以我解决你的问题的方法是这样的:

  1. 使用单独的背景和文本绘制方法子类化 UIView。
  2. 在文本绘制方法中,将文本绘制到离屏图像上。
  3. 然后将模糊滤镜(核心图像框架)应用于该图像。
  4. 在背景上绘制模糊图像(可能您的子类可能有 2 个 UIView:一个用于背面,另一个用于文本)。

所有这一切的明显缺点是这个自定义子类会错过 UILabel 的属性文本和多行分割的所有功能。


推荐阅读