如何使用html内容获取字符串的字符串大小

时间:2015-10-29 08:56:45

标签: ios objective-c

我可以使用This方法获取字符串大小

[myString sizeWithAttributes:@{NSFontAttributeName :myFont}

但是,我的字符串有HTML内容,我试着这样做

[myString sizeWithAttributes:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSFontAttributeName :myFont}

但是,我的错误值? 我还试着像这样使用NSAttributedString

NSAttributedString * tabText = [[NSAttributedString alloc] initWithData:[myString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,myFont: NSFontAttributeName} documentAttributes:nil error:nil];
CGSize mySize=[tabText size];

而且我得错了。

我的字符串是非常基本的HTML内容,例如“test & test”,它返回   15个字符的宽度不是11

1 个答案:

答案 0 :(得分:1)

首先尝试删除html标记,将其用作参考 - Remove HTML Tags from an NSString on the iPhone

然后获取字符串大小,试试这个:

CGSize stringSize = [YOUR_STRING sizeWithAttributes: @{NSFontAttributeName: [UIFont systemFontOfSize:17.0f]}];

// ceilf - is used to get equivalent values
CGSize currentSize = CGSizeMake(ceilf(stringSize.width), ceilf(stringSize.height));