【问题标题】:Removing shadows from UIWebView从 UIWebView 中移除阴影
【发布时间】:2012-01-18 19:35:20
【问题描述】:

我使用 web 视图来显示小的 pdf 文件。为了美观,我想删除 PDF 周围的灰色边框。有什么办法吗?我查看了各种资源,这些资源似乎都不起作用,或者解决方案在 iOS5 中不再起作用。

另外,如果只有一页,有没有办法停止滚动?

谢谢。

【问题讨论】:

    标签: objective-c cocoa-touch uiwebview ios5


    【解决方案1】:

    尝试去除边框和阴影:

    [[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)];
    

    【讨论】:

      【解决方案2】:

      阴影实际上是 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];
          }
      }
      

      【讨论】:

      • @Colas 我不认为 webviews 在 iOS7 下有阴影。
      • 我说的是webview周围的阴影,就像一个灰框。
      【解决方案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;
                      }
                  }
              }
          }
      }
      

      【讨论】:

      • 在 iOS 8 上也很好用。
      • 我有这个 4 页的 pdf。影子还在最后两页?知道为什么吗?
      • @Rhenz,在 macOS 中,您只能从 PDFDocument 类中获取“visiblePages”。我怀疑并非所有页面视图都在您设置阴影时加载。
      【解决方案4】:

      这对我有用。我正在使用导航控制器 我希望它会有所帮助

      self.navigationController.navigationBar.translucent = NO;
      

      还有另一种方法,只需转到情节提要并选择存在 Web 视图的控制器即可。并转到属性检查器并取消选中

      调整滚动视图昆虫

      【讨论】:

        猜你喜欢
        • 2015-06-12
        • 2010-11-07
        • 2017-09-08
        • 2016-09-16
        • 2013-10-01
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        • 2017-09-01
        相关资源
        最近更新 更多