【问题标题】:iPhone, change color to each letteriPhone,将颜色更改为每个字母
【发布时间】:2010-04-14 12:19:17
【问题描述】:

可以按字母改变 NSString 的颜色吗?

例如,如果您有NSString *A=@"ASDFGH";

在 UILabel ASD 中显示为红色,FGH 中显示为蓝色。

还有一个问题.. 如果我有一个 NSString,我可以访问我想要的字母吗? 比如NSString *A=@"ASDFGH";我怎么知道第二个字母是S还是第三个字母是D?

【问题讨论】:

标签: iphone sdk


【解决方案1】:

对于你的第二个问题,你可以使用 NSString 的这三种方法

 – substringFromIndex:
 – substringWithRange:
 – substringToIndex:

【讨论】:

    【解决方案2】:

    1) 您需要为字符串中的每组字符创建单独的 UILabel,使用NSAttributedString(请参阅this),或者您可以只使用 CoreGraphics 以不同的颜色呈现每个组。后者可能是最有效的,但也是最复杂的。

    2) 像这样使用 -[NSString characterAtIndex:]:

    NSString *string = @"ASDFGH";
    unichar char = [string characterAtIndex:1]; //the second letter
    if (char == 'S') {
      //do something
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2014-11-26
      • 2014-03-31
      相关资源
      最近更新 更多