UIWebView 旋转内容

Posted

技术标签:

【中文标题】UIWebView 旋转内容【英文标题】:UIWebView rotate content 【发布时间】:2010-11-08 15:38:26 【问题描述】:

当自动旋转到横向模式时,我的UIWebView 的大小会发生完美变化,只有内容保持纵向模式。

如何让UIWebView 也以横向模式显示内容?

编辑 代码真的没什么特别的;

我在 Nib 文件和 UIViewController 中连接 UIWebView;

[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
    return YES;

UIWebView 正确更改大小,但内容不旋转。

【问题讨论】:

你的 UIWebView 中加载了什么? 当您说“横向内容”时,您的意思是您希望内容横向显示(在水平 iphone 上为垂直),而不是始终竖直显示? @Brandon,无所不能。 @MattLeff,是的,这正是我的意思:) 【参考方案1】:

您是否尝试过将 UIViewController 的视图设置为 UIWebView?

[self setView:webView];

【讨论】:

我遇到了同样的问题,这个解决方案对我有用。谢谢!【参考方案2】:

ios 6 开始,这不再适用,因为 shouldAutorotateToInterfaceOrientation 已被贬低see here for a solution

Tozar 的解决方案最适合我。

在我的 ViewController 的 ViewDidLoad 中,我添加了 self.view.autoresizesSubviews = YES;

【讨论】:

链接已损坏。【参考方案3】:

检查 shouldAutorotateToInterfaceOrientation 方法是否已被覆盖以返回 YES,因此支持 UIWebView 的所有方向。并使用 UIViewController 加载 webview

【讨论】:

能否发下相关代码?当我复制相同时,我没有这样的问题 如果原始发帖人似乎表明他已经在这样做并且它不起作用,我不明白为什么这是公认的答案。没有不尊重答案 - 这是一个非常好的答案 - 我只是不明白如果它没有解决用户的问题,为什么它会被接受。还是做到了,而评论线程中没有提到这一事实?【参考方案4】:

确保autoresizesSubviews = YES 用于您的UIWebView 的所有父视图。

您还应该尝试在shouldAutorotateToInterfaceOrientation: 方法中简单地设置一个断点,以确保它确实被调用了。它会让您更好地了解代码中出了什么问题。

【讨论】:

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

UIWebView 旋转和背景颜色

UIWebView 空白页旋转

UIWebView 旋转

UIWebView 在旋转时接管屏幕

UIWebview 旋转+变换问题

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