如何像下面的链接那样逐渐改变 UILabel 文本的颜色?任何人都可以建议我一些代码吗?
4 回答
您可以使用格式化文本。
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Hello World"];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(1,5)];
iOS < 6
其次,您需要继承 UILabel 并在 drawRect 方法中打印此字符串。您需要创建某种类型的循环来根据语速改变颜色。
iOS 6
您可以使用属性Textproperty(无需子类)
- (void)drawTextInRect:(CGRect)rect
或重用代码:
从 iOS 6.0 开始使用NSAtributedString
。UILabel
对于低于 iOS 6.0 的较小版本,请使用支持NSAtributedString的 TTTAttributedLabel
由它attributed string
根据你的变化requirement
setting
again
UILabel
编辑添加colored text
你想要的,例如在循环中
标签中的第一秒:我是好孩子。
在标签中获得第二名:我是好孩子。
在标签中获得第三秒:我是好孩子。
在标签中的第 4 秒:我是好孩子。
标签中的第 5 秒:我是好孩子。
这是我的示例代码之一。使用 TTTAttributedLabel 类的 block 方法可能会对您有所帮助。
[cell.lblAtt setText:strAtt afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) {
UIFont *italicSystemFont = [UIFont boldSystemFontOfSize:12];
CTFontRef italicFont = CTFontCreateWithName((__bridge CFStringRef)italicSystemFont.fontName, italicSystemFont.pointSize, NULL);
NSUInteger lenght = [[tempObj objectForKey:@"username"] length];
NSUInteger lenght2 = [[NSString stringWithFormat:@"%d",[tempArr count]] length];
[mutableAttributedString addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[ThemeColor CGColor] range:NSMakeRange(0,lenght)];
[mutableAttributedString addAttribute:(NSString*)kCTFontAttributeName value:(__bridge UIFont*)italicFont range:NSMakeRange(0,lenght)];
[mutableAttributedString addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[ThemeColor CGColor] range:NSMakeRange(lenght+11,lenght2)];
[mutableAttributedString addAttribute:(NSString*)kCTFontAttributeName value:(__bridge UIFont*)italicFont range:NSMakeRange(lenght+11,lenght2)];
return mutableAttributedString;
}];
您链接的应用程序 [http://www.youtube.com/watch?v=_vOYvaNhSHw] 可能是使用cocos2d
.
在cocos2d
中,您还可以使用动画轻松更改文本颜色。
这里是一个例子: http:
//www.cocos2d-iphone.org/forum/topic/5903
这里cosos2d sdk,我建议尝试一下,因为它非常强大: http:
//www.cocos2d-iphone.org/
请享用。