UIWebView loadRequest 重用给出闪烁效果
Posted
技术标签:
【中文标题】UIWebView loadRequest 重用给出闪烁效果【英文标题】:UIWebView loadRequest reuse gives flickering effect 【发布时间】: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;
【问题讨论】:
【参考方案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);
【讨论】:
以上是关于UIWebView loadRequest 重用给出闪烁效果的主要内容,如果未能解决你的问题,请参考以下文章
如果从 tableView:didSelectRowAtIndexPath 调用 UIWebView 不调用 loadRequest:
iOS UIWebView loadRequest 耗时太长
UIWebview loadRequest不仅适用于iPhone X.
UIWebview loadRequest 仅在 iPhone X 中不起作用
General-Block 56, 1024, 8, 244, 24 Memory Leaks using UIWebView loadRequest