iPhone Phonegap 方向问题
Posted
技术标签:
【中文标题】iPhone Phonegap 方向问题【英文标题】:iPhone Phonegap Orientation problem 【发布时间】:2011-07-22 17:17:07 【问题描述】:我使用 phonegap 库 (Phonegap 0.9.6) 为 iPhone 制作了一个简单的应用程序。我喜欢使用方向功能,但如果我旋转设备,屏幕不会改变。
我尝试了几件事,但都没有奏效。
我将这些行添加到_Info.plist
:
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
接下来尝试将这些相同的行添加到PhoneGap.plist
。
我尝试使用 javascript,但不工作。有人知道解决方案吗?
【问题讨论】:
据我从 PhoneGap 文档中得知,orientationChanged 不受支持。我以前见过提到它,但可能在 1.0 中被删除了 【参考方案1】:您需要将这些添加到 YOUR_APP_NAME-Info.plist 中:
对于 iPad:
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
对于 iPhone:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
【讨论】:
【参考方案2】:我遇到了同样的问题,唯一对我有用的是将此代码添加到我的 js 中(在 deviceready 之外):
window.shouldRotateToOrientation = function(degrees)
return true;
然后添加到xml中:
<preference name="Orientation" value="default" />
【讨论】:
从 Cordova 5.1.1 起仍需要,ios 8 ... 适用于 iPhone 6 和模拟器。 (Ben Taliadoros 的 plist 解决方案也可以,但是这个 JavaScript 更简单。)顺便说一句,类似的问答在这里:***.com/questions/10999435/…【参考方案3】:我遇到了同样的问题,您需要手动添加到 plist 文件中,据我所知,由于 cordova 问题,它没有从 config.xml 复制。
因此,要在所有 Apple 设备上获得完整的方向支持,请确保 .plist 文件与以下内容匹配:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
【讨论】:
以上是关于iPhone Phonegap 方向问题的主要内容,如果未能解决你的问题,请参考以下文章
无法在 iPhone 的 PhoneGap 中使用 AJAX(简单 javascript)调用基于 REST 的 Web 服务
iPhone JQuery:如何使用 iPhone 中的 Jquery Mobile + phone gap 在 iPad 中实现拆分视图