7

我不知道这种技术的任何流行词,所以我很幸运在搜索引擎中找到了一些东西。

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

在此处输入图像描述

4

1 回答 1

2

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

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

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

于 2013-11-11T22:53:06.763 回答