【问题标题】:UIWebView loadRequest reuse gives flickering effectUIWebView loadRequest 重用给出闪烁效果
【发布时间】:2012-06-27 08:25:11
【问题描述】:

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

下面的代码sn-p:

- (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;
        }
}

【问题讨论】:

    标签: ios ipad uiview uiwebview uiwebviewdelegate


    【解决方案1】:

    您可以在开始新请求之前清除 web 视图,方法是使用

    [yourwebview loadHTMLString:@"<html><head></head><body></body></html>" baseURL:nil];
    

    甚至

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

    这可能会消除闪烁效果

    【讨论】:

    • 我都试过了,但没有成功。我仍然看到相同的闪烁效果。
    【解决方案2】:

    对我来说,这有帮助(它的 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2011-09-07
      • 1970-01-01
      • 2017-02-01
      相关资源
      最近更新 更多