У меня есть приложение для электронной почты,
который показывает содержимое в UIWebView внутри UISplitViewController.
Все работает нормально, пока я не повернул устройство, когда оно уже увеличилось/уменьшилось в UIWebView.
При вращении устройства я настраиваю рамку UIWebView на странице
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
Проблема заключается в том, что когда я увеличил/уменьшил масштаб в UIWebView и затем повернул устройство.
Содержимое не изменяет размер нового кадра, что приводит к тому, что в контенте будет отображаться серая/черная рамка, или содержимое может быть прокручено по горизонтали.
Дополнительная информация:
UIWebView является подвью на UIScrollView, который можно прокручивать.
Когда UIWebView полностью виден, scrollEnabled UIScrollView отключен, а прокрутка UIWebView.
Над изображением на экране отображается UIWebView в альбомной ориентации.
Это состояние перед вращением в обоих случаях. 
[Не увеличено до поворота] Над изображением показано, что UIWebView правильно изменяет размер содержимого на новый кадр. 
[Увеличение до поворота] Над изображением отображается UIWebView после изменения пейзажа, а затем поворот на портрет
- > Неверное отображение содержимого
Информация о UIWebView.scrollView в - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation: <_UIWebViewScrollView: 0xb1322a0; frame = (0 0; 768 960); clipsToBounds = YES; autoresize = H; gestureRecognizers = <NSArray: 0xb1321d0>; layer = <CALayer: 0xb132270>; contentOffset: {0, 0}>
кадр правильный!
Изменить: Решение!
мне удалось решить эту проблему, обновив ширину окна просмотра после поворота устройства CGFloat fll_width = self.view.frame.size.width;
NSString* adsl_javascript_string = [NSString stringWithFormat:@"var setViewPortScript = document.createElement('meta');\
setViewPortScript.setAttribute('name', 'viewport');\
setViewPortScript.setAttribute('content', 'width = %f');\
document.getElementsByTagName('head')[0].appendChild(setViewPortScript);", fll_width];
[adsc_webview stringByEvaluatingJavaScriptFromString:adsl_javascript_string];