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

时间:2013-11-11 22:38:38

标签: ios objective-c uilabel

我不知道这个技术的任何流行词,所以我没有在搜索引擎中找到一些东西。

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

enter image description here

1 个答案:

答案 0 :(得分:3)

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

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

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