我有一个(简单)网页打包在一个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,并允许定向到横向左侧,现在状态栏位于需要的顶部。页面仍然转向...我还尝试制作一个simple page version,它应该旋转那些无法正常工作的内容。
更新2
在Classes/MainViewController.m
我有:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
答案 0 :(得分:4)
您可以检查根控制器 - shouldAutorotateToInterfaceOrientation,允许旋转某个方向。希望它有所帮助。
例如return true
中的Classes/MainViewController.m
:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
//return (interfaceOrientation == UIInterfaceOrientationPortrait);
return true;
}
答案 1 :(得分:2)
在Tom回复问题之后,我想我会为那些使用旧版XCode和iOS重建应用的人分享一个解决方案。我不记得我的旧版本,但我现在使用iOS 6.1的基础SDK在XCode 4.6.1上。我确定我以前使用的是iOS 5.x的Base SDK。
我已将其替换为以下行:
[self.window addSubview:self.viewController.view];
...使用下面的行,方向已更正:
self.window.rootViewController = self.viewController;
答案 2 :(得分:-1)