属性字符串问题

时间:2014-08-07 07:43:24

标签: ios objective-c

我是iOS新手,我在我的应用程序中使用了属性字符串。其实我的要求是 在我的字符串中

NSString *stg = @"Hi I am Very Good Boy";

这里我需要更改每个空格的背景“”以阻止颜色

请帮助我任何人

&安培;问候

3 个答案:

答案 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];