我有一个webveiw,我可以显示小的HTML值,但我有一个问题
如果这样做
NSString *HTMLData =@"<h3><span style=font-family:Helvetica-Bold > <strong> Information</strong> </span></h3>";
HTMLData= [HTMLData stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
[web loadHTMLString:HTMLData baseURL:nil];
然后它很好的
但是如果我的NSString有一个断行就可以说
NSString *HTMLData =@"<h3><span style=font-family:Helvetica-Bold >
<strong> Information</strong>
</span></h3>";
然后我收到错误如何避免这个错误??? 我的错误是缺少终结者字符
答案 0 :(得分:1)
要在多行中打破长NSStrings,您需要在每行的结尾和开头加上双引号:
NSString *HTMLData =@"<h3><span style=font-family:Helvetica-Bold >"
"<strong> Information</strong>"
"</span></h3>";
修改强>
NSMutableString的一个例子:
NSMutableString *HTMLData = [[NSMutableString alloc] initWithCapacity:100];
[HTMLData appendString:@"<h3><span style=font-family:Helvetica-Bold >"];
[HTMLData appendString:@"<strong> Information</strong>"];
[HTMLData appendString:@"</span></h3>"];
//more appends...
//do something with HTMLData here
[HTMLData release];
initWithCapacity只是告诉最初为最初分配空间的字符数(它不是限制)。
NSMutableString也有appendFormat:
方法,其工作方式与stringWithFormat:
类似。
答案 1 :(得分:0)
对此的一个解决方案可能是将HTML编写为字符串。 并将该字符串显示为Label的归因字符串。
let htmlText = "<p>etc</p>"
if let htmlData = htmlText.dataUsingEncoding(NSUnicodeStringEncoding) {
do {
someLabel.attributedText = try NSAttributedString(data: htmlData,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil)
} catch let e as NSError {
print("Couldn't translate \(htmlText): \(e.localizedDescription) ")
}
}