Это больше о сайте, который вы загружаете, чем сам 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-кода ... Так что вы можете получить странные результаты.