2010-03-18 73 views
3

我遇到了UIWebView的問題。我想呈現我自己的HTML代碼。當我添加一個webview作爲子視圖並放入一些html代碼時,它呈現得很好。當使用drawRect方法得到一些優化的tableview單元圖時,彈出問題。通過這種方式繪製UIView子代很有效。甚至可以使用loadRequest方法加載URL,設置符合UIWebViewDelegate協議的委託,並在調用webViewDidFinishLoad時使用setNeedsDisplay重繪表格單元格。它確實顯示,但是當涉及到loadHTMLString時,什麼也沒有顯示出來,只有一個白色矩形。由於性能原因,我必須在drawRect方法中執行繪圖。使用loadHTMLString在drawRect中呈現UIWebView

任何想法?在此先感謝 尼克

範例片段的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]; 
} 
+0

您可以將Web視圖渲染爲圖像的圖形上下文,保留該圖像並將其添加到表視圖單元格的視圖層次結構中,或者根據您的需要將其繪製到drawRect中的圖形上下文中。 – Heiberg

回答

0

我認爲你需要relaod細胞在該索引處而不是調用setNeedsDisplay。

+0

你試過了嗎? –

+0

寧可調用[super drawRect:aRect]; 。 – 2012-01-22 09:21:11

相關問題