UIWebView loadRequest重用会产生闪烁效果

时间:2012-06-27 08:25:11

标签: ios ipad uiview uiwebview uiwebviewdelegate

我有多个pdf文件。根据用户输入,我使用UIWebView加载pdf。在第一次loadRequest时,它正确加载pdf。从第二次调用到LoadRequest之后,它在加载新的pdf时显示出一些闪烁效果。这意味着开始模糊显示内容并在几秒内缓慢显示内容。

以下代码段:

- (void) loadDocument: (NSString *) documentName
{
    NSString * path = [[NSBundle mainBundle] pathForResource: documentName ofType: self.docType];
    NSURL * url = [NSURL fileURLWithPath: path];
    request = [NSURLRequest requestWithURL: url];
    [PdfWebView loadRequest: request];    
}


- (void) loadNewDoc:(int)segIndex
{
    switch (mPageIndex) 
    {
                case 0:
                    [self loadDocument:@"PDF_0"];
                    break;

                case 1:
                    [self loadDocument:@"PDF_1"];
                    break;


                case 2:
                    [self loadDocument:@"PDF_2"];
                    break;


                default:
                    break;
        }
}

2 个答案:

答案 0 :(得分:2)

您可以在使用

开始新请求之前清除Web视图
[yourwebview loadHTMLString:@"<html><head></head><body></body></html>" baseURL:nil];

甚至

[yourwebview stringByEvaluatingJavaScriptFromString:@"document.open();document.close();"];

这可能会消除闪烁效应

答案 1 :(得分:0)

对我来说,这有助于(它的robovm java代码):

UIView.transition(_wv, 0.5, UIViewAnimationOptions.TransitionCrossDissolve, new Runnable() {
@Override
public void run() {
    _wv.loadData(new NSData(pdf), "application/pdf", "utf-8", null);
}
}, null);