iOS UILabel使用负背景颜色作为文本颜色

Mor*_*rbZ 7 objective-c uilabel ios

我不知道这种技术的任何流行词,所以我在搜索引擎中找不到东西是不幸的.

我想要实现一种效果,这使得UILabel使用背景的负面颜色作为其文本颜色,(图片中的黑白就足够了我的目的).通过使用attributionText我可以为每个字母着色,但正如你在这张图片中看到的那样,我想要一种可以为单个字母带来不同颜色的效果.我最好的猜测是光栅化每个像素的标签和颜色,但我认为在性能方面有更好的方法.任何提示将不胜感激.

在此输入图像描述

rma*_*ddy 2

如果我要这样做,我可能会创建一个自定义UIView类,其 API 类似于UILabel(仅包含我需要的部分)加上一个属性来指示应该反转文本的哪一部分。

然后我将实现drawRect:使用两个不同的剪切区域绘制文本两次的方法。对于每一半,我都会为文本和背景填充设置适当的颜色。

这可以通过使用UILabel一个附加属性和自定义drawRect:方法进行子类化来完成。