2011-12-12 42 views
8

Tôi sử dụng chế độ xem web để hiển thị các tệp pdf nhỏ. Trong sự quan tâm của thẩm mỹ, tôi muốn loại bỏ đường viền màu xám xung quanh PDF. Có cách nào xung quanh nó không? Tôi đã xem xét các tài nguyên khác nhau mà không có tài nguyên nào dường như hoạt động hoặc giải pháp không còn hoạt động trong iOS5 nữa.Xóa bóng khỏi UIWebView

Ngoài ra, có cách nào để dừng cuộn nếu chỉ có một trang không?

Cảm ơn.

Trả lời

9

Bóng tối đang thực sự UIImageView subviews của UIScrollView (hoặc tương đương trong iOS5 UIWebView).

Vì vậy, trong 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]; 
      } 
     } 
    } 
} 

và trong iOS5 trở lên:

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

Nó không phải là làm việc ở đây (xcode5, iOS7) ... – Colas

+0

@Colas Tôi không nghĩ WebViews có bóng dưới iOS7. –

+0

Tôi đang nói về bóng xung quanh chế độ xem web, như một khung màu xám. – Colas

0

Cố gắng loại bỏ các biên giới và bóng tối:

[[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

công trình lớn với 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

Hoạt động tốt trên iOS 8. –

+0

Tôi có bản pdf 4 trang này. Cái bóng vẫn còn trong 2 trang cuối cùng? Bất kỳ ý tưởng tại sao? – Rhenz

0

này được làm việc cho tôi. Tôi đang sử dụng chuyển hướng điều khiển Tôi hy vọng nó sẽ giúp

self.navigationController.navigationBar.translucent = NO; 

hơn Một cách là có, Chỉ cần đi để kịch bản và chọn điều khiển nơi xem web có mặt. Và đi đến thuộc tính thanh tra và bỏ chọn

điều chỉnh xem cuộn côn trùng