如何在iphone中突出显示UILabel的单词
Posted
技术标签:
【中文标题】如何在iphone中突出显示UILabel的单词【英文标题】:How to Highlight word of UILabel in iphone 【发布时间】:2011-10-18 06:26:15 【问题描述】:我正在使用定时器在 UILabel 上加载歌曲的歌词。现在我想用不同的颜色突出显示该标签的每个单词。我该怎么做?
我正在显示这样的歌词
- (void)setCurrentAudioProgress:(NSTimeInterval)time duration:(NSTimeInterval)duration
float progress = time/duration;
long currentPlaybackTime = audioPlayer.currentTime;
long remainingTime = (duration-time);
int remainingHours = (remainingTime /3600);
int remainingMinutes = ((remainingTime /60 -remainingHours*60));
int remainingSeconds = (remainingTime %60);
int currentHours = (currentPlaybackTime / 3600);
int currentMinutes = ((currentPlaybackTime / 60) - currentHours*60);
int currentSeconds = (currentPlaybackTime % 60);
currentTimeLabel.text = [NSString stringWithFormat:@"%i:%02d:%02d", currentHours, currentMinutes, currentSeconds];
remainingTimeLabel.text = [NSString stringWithFormat:@"%i.%02d.%02d", remainingHours , remainingMinutes, remainingSeconds];
[progressView setProgress:progress];
for (int i = 0; i<[lyricsArray count]; i++)
NSString *lyricsTime = [[lyricsArray objectAtIndex:i]valueForKey:@"startTime" ] ;
if ([currentTimeLabel.text isEqualToString:lyricsTime])
songLyricsLabel.text = [NSString stringWithFormat:@"%@",[[lyricsArray objectAtIndex:i]valueForKey:@"songLyrics" ]];
【问题讨论】:
嗨。你有解决办法吗? 【参考方案1】:你必须使用技巧,比如这个标签不支持突出显示
iPhone "slide to unlock" animation
【讨论】:
【参考方案2】:您可以在想要突出显示标签文本时使用以下内容,然后为相应的标签添加以下行
label.highlighted = YES;
label.highlightedTextColor = [UIColor blueColor];
对于不同的颜色,您可以添加一个带有颜色名称的数组并随机选择....
【讨论】:
我要突出显示UILabel的每一个字 当您设置 label.highlighted = YES 时,它将使用指定的颜色突出显示标签的整个文本。但是如果你想用不同的颜色突出显示每个单词,那么它就不起作用了,你需要添加一个函数,它会一个一个地获取每个字符并为其设置颜色....以上是关于如何在iphone中突出显示UILabel的单词的主要内容,如果未能解决你的问题,请参考以下文章
iPhone iOS如何更改UITextView中某些单词的颜色?