2011-12-12 114 views
8

我使用Web视图来显示小型pdf文件。为了美观,我想删除PDF上的灰色边框。有没有办法解决它?我查看了各种资源,其中似乎没有任何工作或解决方案不再适用于iOS5。从UIWebView中删除阴影

另外,如果只有一个页面,是否有任何停止滚动的方法?

谢谢。

回答

9

阴影实际上是的UIScrollView的UIImageView的子视图(或在iOS5中UIWebView的等价物)。

所以在iOS4的:

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

和iOS5的和上面:

for (UIView* shadowView in [webView.scrollView subviews]) 
{ 
    if ([shadowView isKindOfClass:[UIImageView class]]) { 
     [shadowView setHidden:YES]; 
    } 
} 
+0

这不是在这里工作(xcode5,ios7)... – Colas

+0

@Colas我不认为网页视图有iOS7下的阴影。 –

+0

我正在谈论围绕webview的阴影,就像一个灰色的框架。 – Colas

0

尝试删除边框和阴影:

[[yourView layer] setBorderColor: [[UIColor clearColor] CGColor]]; 
[[yourView layer] setBorderWidth: 0.0f]; 
[[yourView layer] setShadowColor: [[UIColor clearColor] CGColor]]; 
[[yourView layer] setShadowOpacity: 0.0f]; 
[[yourView layer] setShadowOffset: CGSizeMake(0.0f, 0.0f)]; 
3

与iOS 9

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

也适用于iOS 8。 –

+0

我有这个4页的pdf。阴影仍然在最后2页?任何想法为什么? – Rhenz

0

这是为我工作的伟大工程。我使用导航控制器 我希望这将有助于

self.navigationController.navigationBar.translucent = NO; 

另一种方式是存在的,只要到故事情节和选择控制器在网络视图是存在的。并转到属性检查,并取消

调整滚动视图昆虫