【发布时间】:2012-01-18 19:35:20
【问题描述】:
我使用 web 视图来显示小的 pdf 文件。为了美观,我想删除 PDF 周围的灰色边框。有什么办法吗?我查看了各种资源,这些资源似乎都不起作用,或者解决方案在 iOS5 中不再起作用。
另外,如果只有一页,有没有办法停止滚动?
谢谢。
【问题讨论】:
标签: objective-c cocoa-touch uiwebview ios5
我使用 web 视图来显示小的 pdf 文件。为了美观,我想删除 PDF 周围的灰色边框。有什么办法吗?我查看了各种资源,这些资源似乎都不起作用,或者解决方案在 iOS5 中不再起作用。
另外,如果只有一页,有没有办法停止滚动?
谢谢。
【问题讨论】:
标签: objective-c cocoa-touch uiwebview ios5
尝试去除边框和阴影:
[[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)];
【讨论】:
阴影实际上是 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];
}
}
【讨论】:
适用于 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;
}
}
}
}
}
【讨论】:
这对我有用。我正在使用导航控制器 我希望它会有所帮助
self.navigationController.navigationBar.translucent = NO;
还有另一种方法,只需转到情节提要并选择存在 Web 视图的控制器即可。并转到属性检查器并取消选中
调整滚动视图昆虫
【讨论】: