0

我必须显示一个包含几个粗体字的文本段落。前任。

在此处输入图像描述

如果我使用不同的标签,那么在更改方向时它不会正确调整大小。

谁能告诉我最好的方法是什么。

4

3 回答 3

1

您必须使用 aNSAttributedString并将其分配给UITextField,这是一个示例:

UIFont *boldFont = [UIFont boldSystemFontOfSize:fontSize];
UIFont *regularFont = [UIFont systemFontOfSize:fontSize];

NSMutableAttributedString *myAttributedString = [[NSMutableAttributedString alloc] initWithString:yourString];
[myAttributedString addAttribute:NSFontAttributeName
                      value:boldFont
                      range:NSMakeRange(0, 2)];
[myAttributedString addAttribute:NSFontAttributeName
                      value:regularFont
                      range:NSMakeRange(3, 5)];
[self.description setAttributedText:myAttributedString];

在这里找到所有文档:

NSAttributedString

于 2013-10-03T08:32:39.813 回答
1

您可以使用 UITextView 使用NSAttributedString(看看苹果文档

你有一个关于如何使用它的解释here

您可以找到单词的范围并更改字体或颜色或任何使用:

- (IBAction)colorWord:(id)sender {
    NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithString:self.text.text];

    NSArray *words = [self.text.text componentsSeparatedByString:@" "];

    for (NSString *word in words) 
    {        
        if ([word hasPrefix:@"@"]) 
        {
            NSRange range=[self.text.text rangeOfString:word];
            [string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];           
        }
    }
    [self.text setAttributedText:string];
}
于 2013-10-03T08:32:52.667 回答
0

对于您的情况,您可以使用 webView 并使用您的字符串加载它:

[webView loadHTMLString:[NSString stringWithFormat:@"<html><body style=\"background-color: transparent;\">This is <b><i>Test</b></i> dummy text ..</body></html>"] baseURL:nil];
于 2013-10-03T08:43:43.420 回答