【问题标题】:iOS UILabel use negative background color as text coloriOS UILabel 使用负背景颜色作为文本颜色
【发布时间】:2013-11-23 21:43:56
【问题描述】:

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

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

【问题讨论】:

标签: ios objective-c uilabel


【解决方案1】:

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

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

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

【讨论】:

  • 这很有帮助。我假设你会使用 NSString 的 drawWithRect: 方法来绘制文本并完全避免使用 UILabel,我猜对了吗?
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多