gpt4 book ai didi

iphone - iOS 5 中 UILabel 上的多色

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:30:03 25 4
gpt4 key购买 nike

我有一个 UILabel,我需要在其中显示两个不同颜色的字符串:下面是我的代码:

NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithAttributedString: lbl_question.attributedText];

[text addAttribute: NSForegroundColorAttributeName value: [UIColor colorWithRed:52.0f/255.0f green:104.0f/255.0f blue:165.0f/255.0f alpha:1.0f] range: NSMakeRange(0,[result integerValue]+1)];

[text addAttribute: NSForegroundColorAttributeName value: [UIColor colorWithRed:75.0f/255.0f green:75.0f/255.0f blue:75.0f/255.0f alpha:2.0f] range: NSMakeRange([result integerValue]+1,[strq length])];
[lbl_question setAttributedText: text];

在 iOS 6 中,它工作正常,但在 iOS 5 和更早版本中,这两个字符串每次都重叠。我也想根据文本和字体获得宽度。根据他们的文字增加高度。

我确定必须有解决方案...请帮我解决这个问题...

最佳答案

您可以使用 NSMutableAttributedString 来做到这一点。这也适用于 ios 6、ios 7 和 ios 8

注意NSMakeRange(startin gpoint counting from 0,number of character);

    NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"RedGreenBlue"];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,3)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(3,5)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(8,4)];
lable.attributedText=string;

谢谢

关于iphone - iOS 5 中 UILabel 上的多色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com