【问题标题】:How to set different color for Alphabets in uilabel如何在uilabel中为字母设置不同的颜色
【发布时间】:2015-09-14 09:32:49
【问题描述】:

我想为 uilabel 中的字母设置灰色。如何在 NSMutableAttributedString 中设置范围值。

例子:

NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"1.2 Sun - 3.4 Mon"];
[attrString beginEditing];
[attrString addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range: ]; // how to set range here for alphabets
[attrString endEditing];

【问题讨论】:

  • 你需要动态还是静态?
  • dynamic... 我有很多其他字符串而不是 Sun, Mon... 千个其他字符串,,.. 但是字符串的位置固定在第 2 和第 4 位置,长度可变字符串...
  • 您只想将字母设置为灰色,对吗?...我正在尝试使其具有动态性。
  • 只有字母为灰色

标签: ios objective-c iphone uilabel nsmutableattributedstring


【解决方案1】:

试试这个。

NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"1.2 Sun - 3.4 Mon"];

if([[attrString string] rangeOfString:@"Sun"].location != NSNotFound)
{
     NSRange range2 = [[attrString string] rangeOfString:@"Sun"];

    [attrString addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:range2];
}

if([[attrString string] rangeOfString:@"Mon"].location != NSNotFound)
{
    NSRange range2 = [[attrString string] rangeOfString:@"Mon"];

    [attrString addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:range2];
}

编码愉快:)

【讨论】:

  • 这适用于静态......你需要硬编码“Sun”和“Mon”。
猜你喜欢
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
相关资源
最近更新 更多