4

我有一个(简单的)网页打包在 phonegap 应用程序中。如果我启动应用程序,它会以横向页面宽度显示纵向页面。所以文本从左下到左上开始。在右边我有一个页面应该结束的间隙。

这就是我所看到的:

在此处输入图像描述

支持的方向是我的左右横向...-Info.plist

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
</array>

在我的 iPad 上,我锁定了屏幕旋转。启动图像以横向显示正确。

该页面旨在适应具有固定尺寸的横向。这是我的视口:

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />

并且页面具有正确的横向宽度,但它被翻转了。我可以上下滚动。应用启动后ipad状态栏从上往左跳。

更新

我将目标设备更改为仅 iPad,并允许方向为横向左,现在状态栏位于需要的顶部。页面仍在转动...我还尝试制作一个简单的页面版本,该版本应该可以旋转也不起作用的页面。

更新 2

Classes/MainViewController.m我有:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
4

3 回答 3

4

您可以检查根控制器 - shouldAutorotateToInterfaceOrientation,允许旋转特定方向。希望能帮助到你。

例如return trueClasses/MainViewController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    //return (interfaceOrientation == UIInterfaceOrientationPortrait);
    return true;
}
于 2012-06-13T07:39:07.940 回答
2

Tom对问题的回答之后,我想我会为那些使用旧版本的 XCode 和 iOS 重建应用程序的人分享一个解决方案。我不记得我拥有的旧版本,但我现在使用的是 XCode 4.6.1,使用的是 iOS 6.1 的 Base SDK。我确定我之前使用的是 iOS 5.x 的 Base SDK。

我已将其替换为以下行:

[self.window addSubview:self.viewController.view];

...使用下面的行,并更正方向:

self.window.rootViewController = self.viewController;
于 2013-03-22T16:39:48.217 回答
-1

尝试使用元标记

<meta name="viewport" content="width=720,maximum-scale=1.0" />

更多信息请阅读此页面

于 2012-06-12T12:32:45.383 回答