我正在创建具有标签的iOS应用程序.我想设置两种颜色.一个用于第一部分,另一个用于剩余部分.
我在Stack over flow中看到了一些消息,TTTAttributedLabel能够为文本设置多种颜色.我的文字就像“ABC> def”.对于“ABC”,我想设置棕色和“def”,我想设置白色.
我怎么设置?
我在Stack over flow中看到了一些消息,TTTAttributedLabel能够为文本设置多种颜色.我的文字就像“ABC> def”.对于“ABC”,我想设置棕色和“def”,我想设置白色.
我怎么设置?
解决方法
- NSString* text = @"ABC > def";
- attributedLabel = [[[TTTAttributedLabel alloc] initWithFrame:frame] autorelease];
- attributedLabel.numberOfLines = 0;
- attributedLabel.lineBreakMode = UILineBreakModeWordWrap;
- attributedLabel.fontColor = [UIColor brownColor];
- [attributedLabel setText:text afterInheritingLabelAttributesAndConfiguringWithBlock:^(NSMutableAttributedString *mutableAttributedString) {
- NSRange whiteRange = [text rangeOfString:@"def"];
- if (whiteRange.location != NSNotFound) {
- // Core Text APIs use C functions without a direct bridge to UIFont. See Apple's "Core Text Programming Guide" to learn how to configure string attributes.
- [mutableAttributedString addAttribute:(NSString *)kCTForegroundColorAttributeName value:(id)[UIColor whiteColor].CGColor range:whiteRange];
- }
- return mutableAttributedString;
- }];
- [attributedLabel sizeToFit]; //this may not be needed if the frame provided is large enough
在字符串中搜索“def”,并将该范围的文本的前景色设置为白色.希望这可以帮助.我昨天才刚刚学会了这个.在试图为自己解决问题时遇到了你的问题.