使用loadHTMLString在drawRect中渲染UIWebView

时间:2010-03-18 09:58:29

标签: iphone html objective-c uiwebview drawrect

我遇到了UIWebView的问题。我想在其中呈现我自己的HTML代码。当我添加一个webview作为子视图并输入一些HTML代码时,它渲染得很好。当使用drawRect方法得到tableview单元格的某些优化绘图时,会弹出问题。绘制UIView后代的工作方式非常好。甚至可以使用loadRequest方法加载URL,设置委托,符合UIWebViewDelegate协议,并在调用webViewDidFinishLoad时使用setNeedsDisplay重绘表格单元格。它确实显示,但是当涉及到loadHTMLString时,没有任何显示,只有白色矩形。由于性能原因,我必须在drawRect方法中进行绘图。

有什么想法吗?提前致谢 尼克

由UIWebView加载的html代码的示例代码段:

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 :(得分:0)

我认为您需要在该索引处重新加载单元格,而不是调用setNeedsDisplay。