Как добавить отступы в UIWebview с помощью Javascript - PullRequest
3 голосов
/ 25 марта 2012

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

Это код. Он работает на некоторых страницах, но не работает на некоторых страницах. У кого-нибудь есть идеи, как заставить его работать на всех страницах?

- (void)webViewDidFinishLoad:(UIWebView*)webView {
    //make padding on the top and the bottom of webview
    NSString *padding = @"document.body.style.padding='64px 0px 44px 0px';";
   [webView_ stringByEvaluatingJavaScriptFromString:padding];
}

На этой странице работает нормально. (Фото слева) http://pandodaily.com/2012/03/23/jessica-albas-the-honest-company-raises-27-million-for-non-toxic-baby-products/

На этой странице не работает. (Правая картинка) http://www.washingtonpost.com/german-entrepreneur-makes-millions-in-eu-through-parallel-pharmaceutical-trade/2012/03/19/gIQAPnZrYS_story.html?wprss=rss_homepage

enter image description here enter image description here

1 Ответ

9 голосов
/ 02 апреля 2012

Мой друг сказал мне лучшее решение, поэтому я хочу поделиться им.

- (BOOL)iOS5OrHigher {
    NSString *iOSversion = [[UIDevice currentDevice] systemVersion];
    if ([iOSversion compare:@"5.0" options:NSNumericSearch] != NSOrderedAscending) {   
        return YES;
    } else {
        return NO;
    }
}

if ([self iOS5OrHigher]) {
    webView_.scrollView.contentInset = UIEdgeInsetsMake(44.0,0.0,44.0,0.0);
} else {
    UIScrollView *scrollview    = (UIScrollView *)[webView_.subviews objectAtIndex:0];
    scrollview.contentInset     = UIEdgeInsetsMake(44.0,0.0,44.0,0.0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...