【发布时间】:2010-04-14 12:19:17
【问题描述】:
可以按字母改变 NSString 的颜色吗?
例如,如果您有NSString *A=@"ASDFGH";
在 UILabel ASD 中显示为红色,FGH 中显示为蓝色。
还有一个问题..
如果我有一个 NSString,我可以访问我想要的字母吗?
比如NSString *A=@"ASDFGH";我怎么知道第二个字母是S还是第三个字母是D?
【问题讨论】:
可以按字母改变 NSString 的颜色吗?
例如,如果您有NSString *A=@"ASDFGH";
在 UILabel ASD 中显示为红色,FGH 中显示为蓝色。
还有一个问题..
如果我有一个 NSString,我可以访问我想要的字母吗?
比如NSString *A=@"ASDFGH";我怎么知道第二个字母是S还是第三个字母是D?
【问题讨论】:
对于你的第二个问题,你可以使用 NSString 的这三种方法
– substringFromIndex:
– substringWithRange:
– substringToIndex:
【讨论】:
1) 您需要为字符串中的每组字符创建单独的 UILabel,使用NSAttributedString(请参阅this),或者您可以只使用 CoreGraphics 以不同的颜色呈现每个组。后者可能是最有效的,但也是最复杂的。
2) 像这样使用 -[NSString characterAtIndex:]:
NSString *string = @"ASDFGH";
unichar char = [string characterAtIndex:1]; //the second letter
if (char == 'S') {
//do something
}
【讨论】: