如何旋转UIWebView的内容?

时间:2010-01-13 13:28:31

标签: objective-c cocoa-touch ios uiwebview

我使用网络视图制作了一个非常简单的网络浏览器应用。现在我需要获取应用程序,以便在旋转iPhone时,页面文本也会旋转。

我该怎么做?

我对自动调整大小对话框感到很困惑,所以我可能在那里做错了。

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

我认为你sholud旋转UIWebView小部件,而不是它的内容。内容也应该旋转。要支持旋转,请将以下代码添加到视图控制器:

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

旋转的窗口小部件可能与预期的不同。在Interface Builder中调整支柱和弹簧。

答案 1 :(得分:0)

我认为你需要给我们一些示例代码,以确定出现了什么问题。正如Jacek所说,你唯一需要做的就是支持UIWebView本身的自动旋转。内容应自动轮换。

答案 2 :(得分:0)

我认为您对设备方向和视图框架感到困惑。

在大多数情况下,UIViews会根据方向变化进行更改。但要澄清一下 - 这不是因为方向改变,而是布局改变。

只有UIViewControllers需要考虑设备方向 - UIViews不需要。当设备方向改变时,UIViewController从其实例方法中捕获事件:

– willRotateToInterfaceOrientation:duration:
– willAnimateRotationToInterfaceOrientation:duration:
– didRotateFromInterfaceOrientation:

然后UIViewController重新布局视图 - 导致重构UIViews。在许多情况下,iOS可以通过设置UIViewAutoresizeMask来帮助您简化重新布局过程。例如:

myWebview.autoresizeMask = UIVIewAutoresizeMaskFlexibleHeight | UIVIewAutoresizeMaskFlexibleHeight;

暗示当webview的超级视图改变其界限时,webview将相应地改变。

作为总结,UIView只负责其框架/边界等。