gpt4 book ai didi

ios - 旋转后 UIWebView 内容未调整到新框架

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:43 25 4
gpt4 key购买 nike

我有一个电子邮件应用程序,
它显示了 UIWebView 中的内容在 UISplitViewController 里面.
一切正常,直到我旋转设备,当我已经在 UIWebView 中放大/缩小时.旋转设备时,我调整了 UIWebView 的框架在

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

问题是,当我在 UIWebView 中放大/缩小时然后旋转设备。
内容的大小不会调整到新框架,这会导致内容出现灰色/黑色边框,或者内容可以水平滚动。

附加信息:UIWebViewUIScrollView 的 subview 可以滚动。当 UIWebView scrollEnabled 完全可见的 UIScrollView被禁用并且 UIWebView可以滚动。

Landscape_Correct上图为UIWebView选择电子邮件时横向显示。
这两种情况都是旋转前的状态。


Portrait_Without_Zooming
[旋转前未缩放]上图显示UIWebView正在将内容正确调整为新框架。


Portrait_With_Zooming
[旋转前缩放]上图为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}>框架是正确的!

编辑:解决方案!!
我设法通过在旋转设备后更新视口(viewport)宽度来解决它

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];

最佳答案

我设法通过在旋转设备后更新视口(viewport)宽度来解决这个问题

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];

关于ios - 旋转后 UIWebView 内容未调整到新框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21823648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com