UIWebView масштабирование - PullRequest
1 голос
/ 21 марта 2012

Для свойства UIWebView для свойства "scalePageToFit" установлено значение YES. Его масштабирование увеличивается, но при загрузке страницы содержимое имеет крошечный шрифт, который невозможно прочитать без защемления. Можем ли мы установить масштаб увеличения по умолчанию?

1 Ответ

3 голосов
/ 21 марта 2012

Это больше о сайте, который вы загружаете, чем сам UIWebView ...

Если у вас есть контроль над отображаемым HTML, просто поместите <meta name="viewport" content="width=device-width;initial-scale=1.0"> внутри вашего <head>.

Если нет: вы можете внедрить JavaScript в UIWebView и выполнить его, поэтому есть простой способ вставить метатег, используя небольшой фрагмент кода:

NSString *result = [webView stringByEvaluatingJavaScriptFromString:
  [NSString stringWithFormat:@"var result = '';"
  "var viewport = null;"
  "var content = null;"
  "var document_head = document.getElementsByTagName( 'head' )[0];"
  "var child = document_head.firstChild;"
  "while ( child )"
  "{"
  " if ( null == viewport && child.nodeType == 1 && child.nodeName == 'META' && child.getAttribute( 'name' ) == 'viewport' )"
  "   {"
  "     viewport = child;"
  "     viewport.setAttribute( 'content' , 'width=device-width;initial-scale=1.0' );"
  "     result = 'fixed meta tag';"
  " }"
  " child = child.nextSibling;"
  "}"
  "if (null == viewport)"
  "{"
  " var meta = document.createElement( 'meta' );"
  " meta.setAttribute( 'name' , 'viewport' );"
  " meta.setAttribute( 'content' , 'width=device-width;initial-scale=1.0' );"
  " document_head.appendChild( meta );"
  " result = 'added meta tag';"
  "}"
  ]
];

Обратите внимание, что фрагмент убьет настройки области просмотра, сделанные автором HTML-кода ... Так что вы можете получить странные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...