UIWebView 旋转

Posted

技术标签:

【中文标题】UIWebView 旋转【英文标题】:UIWebView Rotation 【发布时间】:2013-02-04 17:15:29 【问题描述】:

我在我的应用程序中使用 UIWebView,当我旋转我的 iPhone 时,webview 也随之旋转,效果很好。但是,当它旋转时,您会看到我的 webview 后面的背景视图的角落,并且在旋转时它看起来有点闪烁。

所以我在我的 iPhone 上尝试了 Safari,使用的是同一个网站,但它不同。在 Safari 中,如果我旋转,它会平滑得多,我也可以看到它略微缩放。

例如,我在苹果的主页上以纵向模式,完全缩小以查看整个页面。我旋转到横向,内容放大,据我观察,这就是它看起来更平滑的原因。

那么,我的问题是,如何在我的应用中实现这一点?

我玩过“缩放页面以适应”选项,但没有成功。

目前: 旋转缩放网页以适应视图。 (整个页面被缩小才能看到)。

必填: 旋转时,而不是重新缩放页面,只需让它根据需要缩放。

【问题讨论】:

【参考方案1】:

不知道这是否会对您有所帮助,但您可能会发现更改 webview 后面视图的背景颜色(甚至背景图像)很有用,这可能会缓解您看到角落的问题。

【讨论】:

这是我考虑的第一件事,但这根本没有用,因为背景颜色完全取决于网站的外观。不过感谢您的建议。 @JoshKahane 完全可以使用少量的 javascript 来确定网页的背景颜色,甚至是背景图像的 URL,然后您可以将其设置为 webview 的背景颜色. 我不知道,也许这就是一种可能!我会进一步调查。【参考方案2】:

如果您还没有找到解决方案... 作为替代方案,您可以尝试刷新 webview,如果您注意到设备已旋转,刷新 webview 并且 webkit 应该再次渲染它,也可以使用 html 元视口标签(初始缩放、缩放等)和 CSS 媒体查询以支持不同的缩放。对于 HTML 文档,请尝试在 CSS 规则中使用 empt 单位。

//reload webview
[self.webView reload];

link 方向通知

希望这能有所帮助

【讨论】:

以上是关于UIWebView 旋转的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 旋转

UIWebView 在旋转时接管屏幕

UIWebView 旋转和背景颜色

UIWebview 旋转+变换问题

如何旋转 UIWebView 的内容?

iPhone应用程序主视图不旋转但需要在调用UIWebView时旋转?