Удаление теней из UIWebView - PullRequest
       2

Удаление теней из UIWebView

8 голосов
/ 13 декабря 2011

Я использую веб-представление для отображения небольших PDF-файлов.В интересах эстетики я бы хотел убрать серую рамку вокруг PDF.Есть ли способ обойти это?Я посмотрел различные ресурсы, ни один из которых не работает, или решение больше не работает в iOS 5.

Кроме того, есть ли способ остановить прокрутку, если есть только одна страница?

Благодарю.

Ответы [ 4 ]

9 голосов
/ 30 декабря 2011

Тени на самом деле являются UIImageView подпредставлениями UIScrollView (или эквивалента в 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];
    }
}
3 голосов
/ 15 октября 2015

Прекрасно работает с 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 голосов
/ 17 февраля 2017

Это работает для меня.Я использую навигационный контроллер. Надеюсь, это поможет

self.navigationController.navigationBar.translucent = NO;

Еще один способ - просто перейдите на раскадровку и выберите «Контроллер», где присутствует веб-представление.И перейдите к атрибуту инспектора и снимите флажок

настроить вид прокрутки насекомых

0 голосов
/ 14 декабря 2011

Попробуйте убрать границу и тень:

[[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)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...