3

UIWebView に問題があります。独自の html コードをレンダリングしたいと思います。サブビューとして Web ビューを追加し、HTML コードを挿入すると、問題なくレンダリングされます。drawRect メソッドを使用して最適化されたテーブルビュー セルの描画に到達すると、問題が発生します。UIView の子孫の描画は、この方法でうまく機能します。webViewDidFinishLoad が呼び出されたときに、loadRequest メソッドを使用して URL をロードし、デリゲートを設定し、UIWebViewDelegate プロトコルに準拠し、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];
}
4

1 に答える 1

0

setNeedsDisplay を呼び出すのではなく、そのインデックスでセルをリロードする必要があると思います。

于 2011-04-27T10:35:10.610 に答える