CoreText - 点击时更改文本颜色

时间:2012-03-07 04:16:00

标签: ios core-text

当我实现快速滚动技术时,我正在使用CoreText将文本绘制到我的表格视图单元格中。我的文字中的链接是不同的颜色,并响应点击,但我无法弄清楚如何让链接看起来像被点击,即点击时更改颜色然后更改回来。我在多个应用程序中看到了这一点,但不确定它是如何完成的。这可以使用CoreText完成,还是需要使用其他东西?

我知道这可以通过UILabel完成,但是这样做无法直接在单元格的内容视图中绘制文本。

感谢。

2 个答案:

答案 0 :(得分:3)

每次要更改文本的颜色时,都需要将-setNeedsDisplayInRect:发送到要绘制文本的视图。另外,设置与文本颜色对应的变量。

当视图重绘并调用drawLayer:inContext:时,请确保kCTForegroundColorAttributeName设置为正确的颜色(基于您设置的变量)并重绘文本。

您也可以使用类似的技术,但使用UIKit / UIStringDrawing.h中的方法而不是Core Text。

答案 1 :(得分:0)

这可能对您有所帮助。

<style type="text/css">
h1:hover {
color: red;
} </style>
<h1> Hello </h1>