如何使用自定义控件在UILabel中部分动画文本颜色变化?

时间:2014-10-07 18:34:12

标签: ios ios7 textkit

我正在制作自定义选择器控件并且我遇到了问题 - 我需要部分动画uilabels文本颜色更改。

以下是例子:
enter image description here

这是选择器的默认视图。当我单击左侧或右侧时,白色选择器将滑动到该侧。但由于标签文本颜色为白色,我需要部分更改颜色,因此如果我的白色选择器位于标签的中间,则标签中灰色背景上的文本部分应为白色,选择器覆盖的部分应为应该是灰色的。

我很感激任何建议。

2 个答案:

答案 0 :(得分:2)

您可以通过让白色选择器充当面具来实现此目的。复制三个标签 - 一组为白色,另一组为灰色 - 并将它们重叠放在一起。添加三个灰色的灰色作为白色选择器的子视图,并使白色选择器变为clipsToBounds。当您为选择器设置动画时,以相同的速率向相反方向设置子视图标签的动画,它们将保持原位,但在白条移动时会显示。

答案 1 :(得分:1)

您可以使用NSAtributedText。 移动滑块时,您可以看到滑块与标签重叠的程度,在文本范围内转换该距离,并设置与使用NSAttributedText属性找到的文本范围相对应的文本的灰色。