![]() |
AIR приложение на iPhone восстанавливается на полэкрана
Выглядит так:
1. Приложение работает. 2. Нажимаем кнопку выключения смартфона, получаем черный экран. 3. Нажимаем кнопку Home, приложение восстанавливается, но при этом справа примерно половина обрезана и там черный экран. 4. Лечится так: нажимаем кнопку Home и свертываем приложение, потом нажимаем на иконку приложения - оно восстанавливается на полный экран. Никто не сталкивался? |
Уточню, а то всю голову себе сломал уже.
1. Приложение имеет только горизонтальное расположение, что прописано в манифесте: Код:
<!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the device -->https://i.gyazo.com/7c473e63b3796e77...faa597b67c.png Как это вылечить? Приложение на старлинге, довольно много ресурсов. |
Не знаю с чем это связано, но скорее всего событие Resize выдает неправильные размеры экрана, то есть ширину вместо высоты и наоборот. Почему так, я до конца не разобрался. У меня в Android'e была похожая проблема. Добавил такую проверку:
Код AS3:
|
вот непомню точно, но вроде была похожая проблема, связка старлинг-физерс постоянно путалась с размером:
в аппе такой код Код AS3:
|
А событие RESIZE какой сцены? Нативной или старлинга?
Что-то у меня не помогло. |
нативной
Добавлено через 4 минуты хмм, только догадки остались, а попробуйте сравнить нативный stage.fullScreenWidth, stage.fullScreenHeight и stage.stageWidth; stage.stageHeight ? Смутная еще какая то ассоциация есть с stage.deviceOrientation - может там что то противоположное с шириной/высотой старлинга старлинг второй? |
Нет, 1.7
Код AS3:
Код:
[..onResize], 640, 1136, 1136, 640Но дальнейший код ничего не исправил. |
ну что придумать еще? попробуйте силовой ресайз, везде где есть подозрения, обязательно в NativeApplication - Event - "activate".
старлинговский контекст восстанавливается после пробуждения? или работает старый? |
Все совершенно работоспособно.
С учетом того, что видна только часть. )) Вообще такое ощущение, что изменилось только окошко, через которое видно приложение. Само оно на том же месте, что и раньше. Цитата:
|
Если у вас размеры рутового физерс контейнера привязаны к AUTOSIZE_MODE_STAGE, то не думаю что он виноват. Тем более там у вас вроде видно что старлинг не принимает правильный размер натив стейджа.
Но если можно легко его отключить и проверить, то всегда лучше отбрасывать возможные варианты. Сейчас похожу по коду старлинга, как он там реагирует на смену ориентации и стейджа. Может глянуть stage.fullScreenWidth, от них отталкиваться при создании вьюпорта старлинга? У вас апп с системной панелью iOS? или в полный экран? Добавлено через 16 минут вот с этими тегами пробовали играть? Код AS3:
|
Кстати, попробовал выводить:
stage.deviceOrientation, stage.stageWidth, stage.stageHeight, stage.fullScreenWidth, stage.fullScreenHeight, Starling.current.stage.stageWidth, Starling.current.stage.stageHeight При восстановлении после отключения: rotatedLeft, 640, 1136, 640, 1136, 1136, 640 При восстановлении после свертывания по кнопке Home: rotatedLeft, 1136, 640, 1136, 640, 1136, 640 Силовой метод тоже не помог. Цитата:
|
может отключить ему вообще стандартную реакцию на ресайз? остановить ивент или вообще удалить все его внутренние реакции - Starling.current.stage.removeEventListeners(Event.RESIZE);
|
поэкспериментировал с вьюпортом - от него вообще ничего не зависит.
Цитата:
Там, во втором постинге: Код:
<aspectRatio>landscape</aspectRatio>Добавлено через 3 минуты Цитата:
Пробовал захардкодить в onResize: Код AS3:
По прежнему ширина 640, а высота 1136 (вывожу в трейс после попытки переопределить). Добавлено через 39 минут Вычистил из проекта feathers. Не помогло. |
onResize - может выполняться после кухни старлинга, надо её железобетонно подавить
Если это трабл нативного стейджа, то даже не знаю что придумать, определить что стейдж дурит с правильным размером вряд ли можно, идти надо на старлинговый форум |
Ну да, пойду спрошу на старлинговском форуме.
|
Какая версия AIR SDK?
|
AIRSDK_Compiler_22.0.0.153
|
Попробуй с AIR 24, в нем пофиксили один очень неприятный баг связанный с ориентацией устройства на iOS.
|
Ха, действительно помогло.
С AIRSDK_Compiler_24.0.0.180 такой ошибки нет. |
| Часовой пояс GMT +4, время: 12:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.