Визуализация UIWebView в drawRect с помощью loadHTMLString - PullRequest
3 голосов
/ 18 марта 2010

У меня проблема с UIWebView. Я хотел бы представить свой собственный HTML-код в нем. Когда я добавляю веб-видение в качестве подпредставления и вставляю некоторый HTML-код, он хорошо воспроизводится. Когда дело доходит до некоторого оптимизированного отрисовки ячейки таблицы с помощью метода drawRect, возникает проблема. Рисование потомков UIView работает довольно хорошо таким образом. Можно даже загрузить URL-адрес с помощью метода loadRequest, установив делегата, соответствующего протоколу UIWebViewDelegate и перерисовав ячейку таблицы с помощью setNeedsDisplay, когда вызывается webViewDidFinishLoad. Он показывает, но когда дело доходит до loadHTMLString, ничего не появляется, только белый прямоугольник. Из-за соображений производительности я должен сделать рисование в методе drawRect.

Есть идеи? заранее спасибо Ник

Пример кода фрагмента для HTML-кода, загружаемого UIWebView:

NSString *html = @"<html><head><title>My fancy webview</title></head><body style='background-color:green;'><p>It somehow seems<h2 style='color:black;'>this does not show up in drawRect</h2>!</p></body></html>"; 
[webView loadHTMLString:html baseURL:nil];

Фрагмент метода drawRect:

- (void)drawRect:(CGRect)aRect {
    CGContextRef context = UIGraphicsGetCurrentContext();

    [[webView layer] renderInContext:context];
}

1 Ответ

0 голосов
/ 27 апреля 2011

Я думаю, вам нужно переназначить ячейку по этому индексу, а не вызывать setNeedsDisplay.

...