【问题标题】:UIWebView display PDF and hide gray shadow in iOS7UIWebView在iOS7中显示PDF并隐藏灰色阴影
【发布时间】:2014-05-15 18:08:39
【问题描述】:

我正在尝试从在 iOS7 中显示 PDF 的 UIWebView 中删除/隐藏阴影。 我已经在 stackoverflow 和 Internet 上的其他解决方案上尝试过 所有 解决方案,但它不起作用。 也许是因为我正在使用 NSURLSession 从服务器加载 PDF 然后显示它。

现在它看起来像这样:

我的第一个猜测是它不起作用,因为 NSURLSession 委托不在主线程上,但即使我删除主线程上的子视图(包含阴影)并调用 setNeedsDisplay 它也不会改变.

我正在启动DownloadTask,当任务完成并调用委托时,我会删除层。

 - (void)URLSession:(NSURLSession *)session
      downloadTask:(NSURLSessionDownloadTask *)downloadTask
didFinishDownloadingToURL:(NSURL *)location {

    NSData *data = [NSData dataWithContentsOfURL:location];
    [self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];


    // remove shadow layers from scrollview
    dispatch_async(dispatch_get_main_queue(), ^{
        self.webView.scalesPageToFit = YES;

        for (UIView* subView in [self.webView subviews])
        {
            if ([subView isKindOfClass:[UIScrollView class]]) {
                for (UIView* shadowView in [subView subviews])
                {
                    if ([shadowView isKindOfClass:[UIImageView class]]) {
                        [shadowView setHidden:YES];
                    }
                }
            }
        }

        [self.webView.layer setNeedsDisplay];
    });
}

即使删除 GCD 异步块并在同一个线程中执行它也不会改变任何内容。我也尝试在viewDidLoadviewDidAppear 中调用它。

非常感谢任何提示!

【问题讨论】:

标签: pdf ios7 uiscrollview shadow


【解决方案1】:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
 for (UIView *object in webView.scrollView.subviews) {
      if ([NSStringFromClass([object class]) isEqualToString:@"UIWebPDFView"]) {
           UIView *pdfView = object;
           for (UIView *pdfObjectSubview in pdfView.subviews) {
                if ([NSStringFromClass([pdfObjectSubview class]) isEqualToString:@"UIPDFPageView"]) {
                     UIView *uiPDFPageView = pdfObjectSubview;
                     uiPDFPageView.layer.shadowOpacity = 0.0f;
                }
           }
      }
 }

}

【讨论】:

    猜你喜欢
    • 2016-08-17
    • 2016-12-13
    • 1970-01-01
    • 2015-05-22
    • 2013-10-14
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多