Flex 4.5 Mobile iOS Проблемы с определением фактического разрешения экрана / сцены

У меня довольно серьезная проблема. Я надеюсь, что это из-за моей собственной глупости, а не из-за какой-то ошибки. У меня есть код, который должен знать размеры экрана. Я не нашел надежного способа сделать это. Использование производственной версии Flash Builder 4.5 на устройствах iOS iPad 2 и iPhone4 / iPod Touch 4. В целом мое приложение работает отлично, но я не могу определить размер экрана и ориентацию во время запуска программы. Позвольте мне объяснить проблемы, с которыми я столкнулся:

При входе в функцию "init", вызываемую событием ADDED_TO_STAGE, значения stage.stageHeight и stage.stageWidth равны 0.

Я могу запросить возможности Capabilities. .screenResolutionX и Capabilities.screenResolutionY, но они НЕПРАВИЛЬНЫ. У них необработанные значения X и Y, но независимо от ориентации. Так, например, я начинаю в ландшафтном режиме с помощью screenResolutionX, который содержит 768 (или что-то еще) вместо 1024.

Я смотрю значения stage.width и stage.height, и у них нет действительных значений.

У меня есть настройка функции onResize для EVENT.RESIZE, но она не вызывается, если приложение запускается с устройства, когда оно уже находится в альбомном режиме. Если я запустил приложение в портретном режиме, а затем повернул его, это вызовется.

Итак, мой вопрос в том, что мне следует запрашивать прямо при запуске приложения, чтобы узнать реальную ширину и высоту приложения. Должен быть способ сделать это, но, очевидно, без использования любого из вышеперечисленных методов!

Кстати, это на устройствах iOS. Я не могу сказать, как это работает на других. Я подтвердил эти результаты, распечатав результаты и запустив их в отладчике.

6
задан ketan 14 September 2015 в 05:29
поделиться