У меня довольно большая проблема. Я надеюсь, что это из-за моей собственной глупости, а не какой-то баг. У меня есть код, который должен знать размеры экрана. Я не нашел надежного способа сделать это. Использование рабочей версии 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-устройствах. Я не могу сказать, как это работает на других. Я подтвердил эти результаты, распечатав результаты и запустив их в отладчике.