записать html контент в NSString и отобразить на iphone - PullRequest
0 голосов
/ 25 января 2011

У меня есть 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>";

тогда я получаю ошибку, как избежать этой ошибки ??? В моей ошибке отсутствует терминатор символов

Ответы [ 2 ]

1 голос
/ 25 января 2011

Чтобы разбить длинные строки NSS на несколько строк, вам нужно поставить двойные кавычки в конце и начале каждой строки:

NSString *HTMLData =@"<h3><span style=font-family:Helvetica-Bold >"
    "<strong> Information</strong>"
    "</span></h3>";

Edit:
Пример с 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:.

0 голосов
/ 21 марта 2016

Одним из решений для этого может быть просто написать свой HTML в виде строки. и покажите строку как строку атрибутов для метки.

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) ")
    }
}

ссылка: Как отобразить строку HTML на UILabel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...