【问题标题】:iOS UIWebView PDF Not Showing First TimeiOS UIWebView PDF第一次不显示
【发布时间】:2013-07-31 09:29:35
【问题描述】:

我有一个UIViewController 和一个UIWebView,我在其中放置PDF。

我面临的问题是,当我单击表格单元格以显示 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 本身我使用具有 UIWebViewinitWithNib 分配 - 没什么特别的,只是带有 IBOutletUIWebView

有什么想法吗?

【问题讨论】:

    标签: ios objective-c pdf uiwebview


    【解决方案1】:

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

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

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

    【讨论】:

    • 修复了很棒的 1 号!
    【解决方案2】:

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

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

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

    在你的 webViewVC viewWillAppear 方法上做你的 [self.webView loadRequest:self.request];

    【讨论】:

    • 谢谢 - 如上所述,就像你说的那样,我需要 webViewVC 中的一个属性来处理请求,而不是将其设置在 tableView 所在的位置!
    猜你喜欢
    • 2014-07-14
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2013-10-09
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多