Ответ выше не сработал для меня, потому что в iOS предотвращение по умолчанию больше не работает.
Для тех, кому просто все еще не везет ... Вот что я сделал.
Я хотел:
Ipad и все устройства на планшетах Android с возможностью портретной или альбомной ориентации и автоматического поворота в любом направлении
Iphones, Ipods и все устройства с маленьким экраном, которые будут вынуждены использовать альбомную ориентацию (или, может быть, в вашем случае вам нужен принудительный портрет).
Я сделал:
В моем -app.xml:
<aspectRatio>any</aspectRatio>
<autoOrients>true</autoOrients>
В ActionScript:
var screenDPI:Number = Capabilities.screenDPI;
var resolutionX:Number = Capabilities.screenResolutionX;
var resolutionY:Number = Capabilities.screenResolutionY;
var numDiagonalDistance:Number = Math.round(Math.sqrt((resolutionX*resolutionX)+(resolutionY*resolutionY)));
var numDiagonalInches:Number = numDiagonalDistance/screenDPI;
if(numDiagonalInches<6){
MainData.SMALL_DEVICE=true;
}else{
MainData.SMALL_DEVICE=false;
}
if(MainData.SMALL_DEVICE){
this.stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
}
Хотя я предполагаю, что вы могли бы легко поместить StageAspectRatio.PORTRAIT или даже использовать обратную логику только для логических ipads или чего-то еще. Удачи!
РЕДАКТИРОВАНИЕ: Я на самом деле редактирую это, потому что даже у этого метода все еще есть проблемы. Вы получите пейзаж, но он не всегда ориентирован на то, как вы держите устройство ...
EDITED AGAIN (2-27-2014): Оказывается, если я включил -swf-версию 23 (теперь с AIR 4.0), эта проблема наконец-то решена.