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 方向问题的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap输入控件在iphone7上崩溃应用程序

无法在 iPhone 的 PhoneGap 中使用 AJAX(简单 javascript)调用基于 REST 的 Web 服务

PhoneGap:iOS下的设备方向

iPhone JQuery:如何使用 iPhone 中的 Jquery Mobile + phone gap 在 iPad 中实现拆分视图

ios phonegap“黑条”在方向改变后

Phonegap/Cordova 在 iphone 上加载时将启动图像旋转 90 度