В iOS 9.2 HTML-рендеринг HTML WKWebView с таблицами с фиксированной шириной, превышающим ширину устройства, можно было бы сжать, чтобы уменьшить размер содержимого, добавив тег вида просмотра, например:WKWebView viewport shrink-to-fit не работает на iOS 9.3
<meta name="viewport" content="width=device-width, shrink-to-fit=YES">
Эта линия вызвал WKWebView эффективно уменьшить окно просмотра так, чтобы вся страница визуализации вписывается в виде рамы без необходимости скроллинга. Например, рассмотрим следующий код, при запуске в viewDidLoad в ванильным одном приложении вид:
WKWebViewConfiguration *wkWebConfig = [[WKWebViewConfiguration alloc] init];
WKWebView *newWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0,40,self.view.frame.size.width, self.view.frame.size.height - 40) configuration:wkWebConfig];
NSString *toRender = @"<head><meta name=\"viewport\" content=\"width=device-width, shrink-to-fit=YES\"></head><body><table width=700 style='background-color: blue; color:white; font-size=20px'><tr><td>this is some text that is long enough to exceed the width of the iphone 6 unless shrink-to-fit is applied</td></tr></table></body>";
[newWebView loadHTMLString:toRender baseURL:nil];
[self.view addSubview:newWebView];
Содержание делает так:
Однако это поведение изменилось в 9.3. Идентичный код, работающий в 9.3 делает так:
(Хотя вы не можете видеть на скриншоте, есть горизонтальная полоса прокрутки)
Поиск другие вопросы по StackOverflow и в других местах, это похоже, большинство других людей предпочитают поведение 9.3. Тем не менее, мне нужно поведение 9.2, сжимаемое к месту. Итак, мой вопрос: кто-нибудь знает, как получить то же самое сглаживание в соответствии с поведением в 9.3? И кто-нибудь знает, намеренно ли это изменение, или ошибка, которая будет исправлена в последующих выпусках?
Мой тестовый код можно найти на https://github.com/nsolter/NSWebViewShrinkTest, в частности https://github.com/nsolter/NSWebViewShrinkTest/blob/master/NSWebViewShrinkTest/ViewController.m
Я также использую width = device-width и сталкивается с той же проблемой. Перегружаете ли вы страницу шириной = X ?? – anoop4real
По существу, да. Я фактически показываю его в новом WKWebView, который в настоящее время не отображается, а затем заменяется на новый веб-просмотр. –
У вас есть образцы? – anoop4real