我的应用中有一个UITextField
,其中包含一些用户输入的文字,并突出显示存储在系统中的标签,以使它们像按钮一样。我编写了下面的代码来执行存储文本:
- (NSAttributedString *)parsedText:(NSString *)storedText {
NSMutableAttributedString *gorgeous = [[NSMutableAttributedString alloc] initWithString:storedText];
NSArray *words = [storedText componentsSeparatedByString:@" "];
for (int i = 0; i < [words count]; i++) {
NSString *word = [words objectAtIndex:i];
if ([word isTag]) {
[gorgeous addAttribute:NSBackgroundColorAttributeName
value:[UIColor yellowColor]
range:NSMakeRange([gorgeous.mutableString rangeOfString:word].location, [word length])];
}
}
return gorgeous;
}
然后我将其分配给UITextField
,如下所示:
self.textField.attributedText = [self parsedText:storedText];
这就像一个魅力。但是,当我开始在文本字段中输入时,该文本也会变为黄色。这不应该发生。任何想法如何解决?