1

私のコードがiPad3iOS6で機能しない理由、またはAdobe Airのバグですか?

次のコードは、iOS5を搭載したiPad1およびiPad2で機能します

            if (startOrientation == StageOrientation.DEFAULT || startOrientation == StageOrientation.UPSIDE_DOWN){
                stage.setOrientation(StageOrientation.ROTATED_RIGHT);}
            else{
                stage.setOrientation(startOrientation);
            }           

            stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);

private function orientationChangeListener(e:StageOrientationEvent):void{
            txt_rotate.text = 'Camed' + StageOrientation.ROTATED_LEFT;
           if (e.afterOrientation == StageOrientation.DEFAULT || e.afterOrientation ==  StageOrientation.UPSIDE_DOWN){
                e.preventDefault();
           }else if(e.afterOrientation ==  StageOrientation.ROTATED_LEFT){
               _stageOrientation = 'ROTATED_LEFT';
               txt_rotate.text = _stageOrientation;
           }else if(e.afterOrientation ==  StageOrientation.ROTATED_RIGHT){
               _stageOrientation = 'ROTATED_RIGHT';
               txt_rotate.text = _stageOrientation;
           }
        }
4

1 に答える 1

2

AppleはiOS6SDKのオリエンテーションコールバックにいくつかの変更を加えたため、一部の関数は非推奨になりました。

PreventDefault関数はStageOrientationEventでは機能しません。必要に応じて、Stage.autoOrientsをfalseに使用することをお勧めします。

http://blogs.adobe.com/airodynamics/2012/09/28/orientation-changes-in-air/

于 2012-11-29T02:47:50.297 に答える