4

我浏览了大部分问题并尝试了几乎所有内容。但不好的部分是问题仍然存在。

我有一个UIVIew总是在横向模式下启动的,我将第二个视图 ( detailView) 作为全屏模式视图。

上面有detailview一个UIwebview

当我将其呈现detailView为模态视图时,webview 以纵向模式显示。

我正在返回 " YES"并且shouldAutoRotateToInterfaceOrientation还有 setautoresize和属性。autoresizingMaskscalePageToFit

当我旋转设备时,当detailView它在前面时,webview 会正确排列为横向。

问题仅在我第一次提出modalView时。

旋转设备正在正确调整布局。

4

4 回答 4

3

据我所知,iPhone 上的 ModalViews 不支持横向视图。iPhone 5 的情况可能有所不同。

但听起来您将 ModalView 而不是 WebView 设置为横向,我建议采用不同的方法来处理这个问题。

例如,您可以像 ModalView 一样为 DetailView 设置动画,以便它以正确的方向开始

于 2012-10-18T06:17:03.697 回答
1

如果您在 iOS 6 上运行您的应用程序,您将需要在模态视图控制器中添加以下代码来支持横向:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

- (BOOL) shouldAutorotate {
    return YES;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationLandscapeLeft;
}

此外,请确保您在实际设备上进行测试,而不是在模拟器上进行测试,因为自动旋转在模拟器上的行为不同。

于 2012-10-11T15:48:50.267 回答
0

这样就可以了:

CGAffineTransform transform = CGAffineTransformIdentity;
webView.transform = CGAffineTransformRotate(transform,-M_PI/2);
于 2013-01-29T10:03:30.300 回答
-1

好的。首先,我发布的问题不清楚。我的问题是,当我以纵向加载 webview 时,它以横向模式(CSS)加载 webview 元素,并以横向模式加载为纵向模式(CSS)。

原来我没有应用正确的 CSS 样式。

我所做的修复是:在 ViewDidLoad 和 willAnimateRotation 方法中,我将通知发布到我的 javascript 以根据方向更新样式:)

于 2013-05-08T06:40:00.960 回答