11

横向きのみのアプリを作ろうとしていますが、回転がまったくできません。

以前はにautorotate設定がありましPhoneGap.plistたが、phonegap1.8.0で見つけることができます。それはまだ存在しますか?

アプリケーションがローテーションしていないことで、他に何が間違っている可能性がありますか?

アップデート

「test」という単語が1つしかないWebページがあることは知っています。ターゲットデバイスをiPadのみに設定し、4つの方向すべてを有効にしました。まだ何が間違っている可能性がありますか?

特別なhtmlドキュメントタイプが必要ですか?いくつかのcordova-1.8.0.jsを含める必要がありますか?iOS用のものが見つからなかったので(!?!)、Androidバージョンでテストしました。APIが同じになったことを読んだので、android .jsファイルを使用できますか?

4

4 に答える 4

15

上記のJavaScriptソリューションを試しましたが、喜びがありませんでしたVisual Studio 2015では、config.xmlを次のように変更します

<preference name="orientation" value="all" />

Cordova 5ビルドコマンドから取得したものは、iOSデバイスの向きの設定を削除しています

設定だけでJavaScriptは必要ありませんでした

于 2015-09-10T00:31:06.430 に答える
11

PiTheNumberの答えは、Cordovaで生成されたネイティブコードを変更することで問題がないように見えます。

Cordovaに関するこのJIRAの問題に続いて、このブログで適切に説明されているように、plist値を使用したり、Javascriptコードでwindow.shouldRotateToOrientation関数を定義したりすることもできます。これは私に非常に適しています。

window.shouldRotateToOrientation = function(degrees) {
 return true;
}

これにより、現在のページのデバイスの向きが有効になります(したがって、ほとんどのCordovaアプリのように、アプリ全体が「1ページのアプリ」の場合)。度単位の回転値に基づいて有効にすることもできます。また、特定のビューでのみ有効にするか、HTMLアプリ内でユーザーに選択させることもできます...いいですね。

記録のために、私はiOS 8 iPadハンドルローテーションを取得するために何もする必要はありませんでしたが、iOS6とiOS7 iPhoneの両方は、現在のCordovaバージョン(4.2.0、cordova iosプラットフォームバージョン)ではデフォルトでそれを処理しませんでした「ios3.7.0」)。これは、Xcodeの「デバイスタイプ」(タブレット/電話)ごとに異なる回転設定を付与できるためです。注意すべき点は、Cordovaは最初に上記のJS関数が存在するかどうかをチェックし、次に関数が存在しないか、回転を許可しなかった場合、Xcode回転設定が使用されることに注意してください。

于 2015-01-28T22:52:51.923 に答える
8

見返りにClasses/MainViewController.mtrue:

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

iOSの場合>= 6

- (BOOL)shouldAutorotate {
    return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

ソース

于 2012-06-12T18:43:15.393 に答える
7

UISupportedInterfaceOrientations

platroms / ios / {ProjectName}/{ProjectName-info.plist

を追加できます。次の行を追加します。

iPhoneの場合:

<key>UISupportedInterfaceOrientations</key>
    <array>
      <string>UIInterfaceOrientationPortrait</string>
      <string>UIInterfaceOrientationLandscapeLeft</string>
      <string>UIInterfaceOrientationPortraitUpsideDown</string>
      <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

Ipadの場合:

<key>UISupportedInterfaceOrientations~ipad</key>
    <array>
      <string>UIInterfaceOrientationPortrait</string>
      <string>UIInterfaceOrientationLandscapeLeft</string>
      <string>UIInterfaceOrientationPortraitUpsideDown</string>
      <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
于 2015-01-31T20:47:10.610 に答える