В iOS 9.2 WKWebView, визуализирующий HTML с таблицами фиксированной ширины, превышающей ширину устройства, можно было приказать сжать содержимое, чтобы оно соответствовало размеру, добавив тег области просмотра, подобный этому:
<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