更改绘制的NSString的子字符串的背景颜色?

时间:2010-01-19 00:27:23

标签: iphone

我正在使用Atebits的ABTableViewCell子类来优化相当大的潜在数据源的滚动,具体取决于我的搜索返回的内容。 (无论哪种方式,我都强烈推荐子类,即使是最简单的表格视图,它们也像黄油一样滚动!)

我在视图中绘制了一个NSString:

[nameLabel drawInRect:nameRect withFont:nameLabelFont lineBreakMode:UILineBreakModeWordWrap];

我认为搜索到的单词(名称为“CONTAINS searchText”)突出显示将是一个很酷的功能。这是否像更改nameLabel的子字符串后面的背景颜色一样简单?

编辑:

NSAttributedString似乎正是我正在寻找的,但事实证明它并不适用于iPhone。

从进一步阅读开始,似乎HTML和UIWebView就是这样的方式......但这看起来非常昂贵。这真的是解决方案吗?

3 个答案:

答案 0 :(得分:1)

嘿,看看TTStyledLabel - 它可能会做你想要的。

答案 1 :(得分:0)

答案 2 :(得分:0)

狂野的想法 - 你的文字是一行吗?如果是这样,你可以计算“名称”的宽度,然后计算“CONTAINS”的宽度,这样你就可以知道它在屏幕上的确切位置。一旦你只是简单地在文本顶部放置一个半透明的彩色UIView。

我自己没有尝试过,但如果我 让它发挥作用,那就是我会做的。