从UIWebView中删除阴影

时间:2011-12-12 20:44:17

标签: objective-c cocoa-touch uiwebview ios5

我使用网页视图来显示小的pdf文件。为了美学,我想删除PDF周围的灰色边框。它有什么办法吗?我查看了各种资源,似乎没有任何工作或解决方案在iOS5中不再有效。

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

感谢。

4 个答案:

答案 0 :(得分: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];
    }
}

答案 1 :(得分: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;
                }
            }
        }
    }
}

答案 2 :(得分: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 :(得分:0)

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

self.navigationController.navigationBar.translucent = NO;

还有一种方法,只需转到故事板并选择存在Web视图的Controller。然后转到属性检查器并取消选中

  

调整滚动视图昆虫