私はiOS用のアプリでフラッシュCS5.5で作業しています。iPad/iPhone で orientationChange のアニメーション化を停止し、直接変更したいのですが、これは可能ですか?
これは解決策だと思いましたが、AS3 には役に立ちませんでした - iOS は横向きモードのみを強制しますか? .
私はiOS用のアプリでフラッシュCS5.5で作業しています。iPad/iPhone で orientationChange のアニメーション化を停止し、直接変更したいのですが、これは可能ですか?
これは解決策だと思いましたが、AS3 には役に立ちませんでした - iOS は横向きモードのみを強制しますか? .
を設定しようとするStage.autoOrients = false;
と、flash.events.StageOrientationEvent.ORIENTATION_CHANGE
は決して発火しません。これは、向きの変更を完全に無効にするのに役立ちますが、問題には役立ちません。私自身は試していませんが、イベントを聞くことができるかもしれません:
flash.events.StageOrientationEvent.ORIENTATION_CHANGING
event.preventDefault()
そのリスナーを呼び出して、実際の回転が発生しないようにすることができる場合があります。次に、自分で手動で設定できます。
Stage.setOrientation(StageOrientation.ROTATED_RIGHT);
SOの回答を試しましたか:方向変更の回転アニメーションを無効にしますか?
Flash CS5.5またはair 3.5のホームであるview-controllerに入るその回答のコードは次のとおりです。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[UIView setAnimationsEnabled:YES];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[UIView setAnimationsEnabled:NO];
return TRUE; /* Your original orientation booleans, in case you prevent one of the orientations */
}
UIViewController
そのコードは、オーバーライド可能なネイティブの iOS関数を利用します。をオーバーライドするネイティブ iOS オブジェクティブ C クラスが必要UIViewController
であり、その後、上記のコードを挿入できます。View Controllerのライフサイクルの一部として、デバイスがこれらにローテーションされると、呼び出しが行われます。