iOS html文本在属性字符串中无法正常工作

时间:2016-09-21 16:49:56

标签: html ios objective-c swift string

我试图在标签内部制作部分文字 - 粗体。这是我使用的HTML代码:

<style>body{line-height: 0;}</style><font face=\"Calibri\"><b>Get moving!</b> (and Sync to see your points.)</font>

但它使所有文字变得粗体。如果HTML使用<b></b>标记,则相同。它将使所有文本定期 似乎它只是检查开始。

任何人都可以帮助我吗?

我使用NSAtributedString来显示HTML文字。想承认它在HTML在线编辑器中运行良好。

2 个答案:

答案 0 :(得分:1)

enter image description here试试这个:

 NSString *description = @"<style>body{line-height: 0;}</style><font face=\"Calibri\"><b>Get moving!</b> (and Sync to see your points.)</font>";
    self.lblDescription.attributedText=[self getData:description];

//Convert HtmlString to string
-(NSAttributedString *)getData:(NSString *)str
{
    NSData *stringData = [str dataUsingEncoding:NSUTF8StringEncoding];

    NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType};
    NSAttributedString *decodedString;
    decodedString = [[NSAttributedString alloc] initWithData:stringData
                                                     options:options
                                          documentAttributes:NULL
                                                       error:NULL];
    return decodedString;
}

答案 1 :(得分:1)

我得到了解决方案。我为你的问题试了一个。我得到了它并且工作正常。

NSString *strHTML = @"<style>body{line-height: 0;}</style><font face=\"Calibri\"><b>Get moving!</b> (and Sync to see your points.)</font>";
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[strHTML dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
lblHTMLString.attributedText = attrStr;

输出屏幕截图是

enter image description here