2016-04-05 1 views
1

У меня есть UIWebview в раскадровке, я загружаю HTML-страницы внутри представления. до iOS 9.2 он отлично работает как желание, но когда я работаю в iOS 9.3, страница появляется с увеличением по умолчанию. Я установил весыPageToFit свойство.scalesPageToFit для webView не работает с iOS 9.3

self.webView.scalesPageToFit=TRUE; 

Я тоже попытался установить рамку программно для UIWebview.

Это мой мета-тег из HTML ..

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <meta name="language" content="en" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.2, user-scalable=yes"> 
    <meta name="apple-mobile-web-app-capable" content="yes"> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

Я попытался с мета-тег

<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 

Как было предложено во многих пост я попытался с.

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ", (int)self.view.frame.size.width]]; 
+0

у меня такая же проблема с WKWebView на 9.3, как я уже говорил здесь: http://stackoverflow.com/questions/36633066/wkwebview-viewport-shrink-to-fit-not-working-on-ios- 9-3 –

ответ

3

Я совсем один и тот же вопрос для меня решение было с помощью этого кода пыльник

webview.scalesPageToFit = YES; 
    float width = webview.frame.size.width; 
    float scale = width/770; 

    NSString *js = [NSString stringWithFormat:@"document.body.style.zoom=%.2f;",scale]; 
    [webview stringByEvaluatingJavaScriptFromString:js]; 

Я знаю, что это Hacky обходной путь. Число 770 - это отношение между шириной (точками) и масштабом, которое мне нужно для подгонки в содержимом веб-страницы к веб-просмотру.

UPDATE

я узнал, что над временем решения времени причина не правильно масштабировать буквы в конкретных HTML-теги, поэтому я пришел с JavaScript, который изменяет непосредственно мета-тег с именем окна просмотра (код внизу)

NSString *js = [NSString stringWithFormat:@"document.querySelector('meta[name=viewport]').setAttribute('content','width=device-width; initial-scale=%.2f; user-scalable=no;');",scale]; 
0
- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    //make sure that the page scales when it is loaded :-) 
    theWebView.scalesPageToFit = YES; 
    return YES; 
} 

, кажется, подходящее решение

+0

Я уже пробовал это. результат по-прежнему такой же. –

 Смежные вопросы

  • Нет связанных вопросов^_^