突出显示iphone上的滚动文字

时间:2011-01-16 14:33:10

标签: iphone uitextview calayer cgcontext

我有麻烦的节目歌词。我使用uitextview show lyrics code snips

IBOutlet UILabel *lrcshow;
IBOutlet UITextView *showlrc;

self.lrcshow.text = [lrcDictss objectForKey:
[NSString stringWithFormat:@"%d",(int)self.player.currentTime]];
if (self.lrcshow.text!=nil) {
    NSRange selection = [self.showlrc.text rangeOfString:self.lrcshow.text]; 
    if( selection.location != NSNotFound ){
        showlrc.selectedRange = selection; 
   }
}

歌词逐行滚动显示,现在播放的问题(selectedRange)歌词没有突出显示,我希望这行高亮怎么能代码?有什么建议吗?或者用calayer,cgcontext石英核代替吗?我怎么能这样做?

ps.for me english很难我想实现流畅的滚动效果歌词秀

歌词风格显示图片网址:

这是我的应用程序样式:http://www.flickr.com/photos/53054715@N05/5360345226/

这是好风格:flickr.com/photos/53054715@N05/5359722887/

1 个答案:

答案 0 :(得分:0)

我想我理解你的意思......你想突出显示一个文字而且选择范围不能正常工作吗?

如果是这样,请阅读:

selectedRange仅在键盘显示时有效。在你的歌词应用程序中,你不希望这样吗? 因此,您至少需要一个CALayer才能使其看起来像被选中。 您还需要文本的坐标,这不是一项简单的任务。

如果您的文字是静态的(字体,大小,框架宽度永远不会改变),那么您可以在字典中找到文本的坐标,这样您就可以相应地调整CALayer的大小

希望它有所帮助。 好运