2

我有一个UIViewController放置UIWebViewPDF 的地方。

我面临的问题是,当我单击表格单元格以显示 PDF 时,它第一次没有显示,但是如果我返回表格并再次单击该单元格,它就会出现。

我使用以下方法调用 PDF 来加载:

if ([indexPath row] == 2)
{
        NSString *path = [[NSBundle mainBundle] pathForResource:@"myFirstPdf" ofType:@"pdf"];
        NSURL *url = [NSURL fileURLWithPath:path];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [webViewVC.webView loadRequest:request];
        webViewVC.parent = _parent;
        [_parent pushViewController:webViewVC];

}

webViewVC我使用 an 分配的initWithNib本身UIWebView- 没什么特别的,只是 aUIWebViewIBOutlet.

有任何想法吗?

4

2 回答 2

2

我认为你应该尝试两件事:

(1)首先,尝试从 Web 视图控制器加载 PDF。这确实是执行此操作的标准方法,而不是对尚未出现在屏幕上的 Web 视图执行加载请求。所有插座都保证仅加载viewDidLoad到控制器中。

(2)其次,尝试利用UIWebViewDelegate. 例如,您可以setNeedsDisplay在加载完成后调用 Web 视图。

于 2013-07-31T09:36:48.483 回答
0

我的想法:第一次尝试您的“webViewVC”尚未加载的操作时,所以 webViewVC.webView 为零

第二次,当您在第一次尝试中显示 webViewVC 时,它已被加载,因此 webViewVC.webView 不为零;

在您的 webViewVC 上创建一个属性,您将在其中设置您的请求

并在您的 webViewVC viewWillAppear 方法上执行您的 [self.webView loadRequest:self.request];

于 2013-07-31T09:36:21.390 回答