2011-12-12 10 views
8

Używam widoku internetowego do wyświetlania małych plików PDF. W interesie estetyki chciałbym usunąć szarą obwódkę wokół pliku PDF. Czy jest jakiś sposób obejścia tego? Przyjrzałem się różnym zasobom, z których żaden nie działa, lub rozwiązanie nie działa już w systemie iOS5.Usuwanie cieni z UIWebView

Czy istnieje sposób zatrzymania przewijania, jeśli jest tylko jedna strona?

Dzięki.

Odpowiedz

9

Cienie są faktycznie UIImageView subviews z UIScrollView (lub równoważne iOS5 UIWebView).

Więc w 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]; 
      } 
     } 
    } 
} 

aw iOS5 i powyżej:

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

To nie działa tutaj (xcode5, ios7) ... – Colas

+0

@Colas nie sądzę WebViews masz cienie pod iOS7. –

+0

Mówię o cieniu wokół widoku, jak szara ramka. – Colas

0

Próba usunięcia granicę cienia:

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

Działa świetnie z 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

Działa również świetnie na iOS 8. –

+0

Mam ten 4-stronicowy plik pdf. Cień jest nadal na ostatnich 2 stronach? Każdy pomysł, dlaczego? – Rhenz

0

ten pracował dla mnie. Używam Navigation Controller Mam nadzieję, że to pomoże

self.navigationController.navigationBar.translucent = NO; 

Jeszcze jeden sposób jest tam, po prostu przejść do Storyboard i wybierz kontroler gdzie widok internetowej jest obecny. I przejdź do inspektora atrybutów i odznacz

dostosowanie widoku przewijania owady