1

知道为什么我的代码无法在 iPad3 iOS6 上运行,还是 Adob​​e 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 对 iOS6 SDK 中的方向回调进行了一些修改,因此不推荐使用某些功能。

preventDefault 函数对 StageOrientationEvent 不起作用。建议在需要时使用 Stage.autoOrients 为 false。

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

于 2012-11-29T02:47:50.297 回答