我是iOS新手,我在我的应用程序中使用了属性字符串。其实我的要求是 在我的字符串中
NSString *stg = @"Hi I am Very Good Boy";
这里我需要更改每个空格的背景“”以阻止颜色
请帮助我任何人
&安培;问候
答案 0 :(得分:0)
对此question的回答会很有帮助。你需要计算出空间的范围。一种方法是调用rangeOfString:options:range
,直到你完成整个字符串。请参阅NSString reference
答案 1 :(得分:0)
使用此功能对您有所帮助。
NSMutableAttributedString * string = [[NSMutableAttributedString alloc]initWithString:txtField.text];
NSRange range=[txtField.text rangeOfString:@" "];
[string addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:range];
[txtField setAttributedText:string];
答案 2 :(得分:0)
以下是更改空间背景颜色的示例代码。
NSMutableAttributedString *mutableString = nil;
//NSString *sampleText = self.lblTest.text;
NSString *sampleText = @"Hi I am Very Good Boy I";
mutableString = [[NSMutableAttributedString alloc] initWithString:sampleText];
NSString *pattern = @" ";
NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];
// enumerate matches
NSRange range = NSMakeRange(0,[sampleText length]);
[expression enumerateMatchesInString:sampleText options:0 range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
{
NSRange range = [result rangeAtIndex:0];
// I am using the NSBackgroundColorAttributeName to change the background of space
[mutableString addAttribute:NSBackgroundColorAttributeName value:[UIColor blueColor] range:range];
}];
[self.lblTest setAttributedText:mutableString];