|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
AIR приложение на iPhone восстанавливается на полэкрана
Выглядит так:
1. Приложение работает. 2. Нажимаем кнопку выключения смартфона, получаем черный экран. 3. Нажимаем кнопку Home, приложение восстанавливается, но при этом справа примерно половина обрезана и там черный экран. 4. Лечится так: нажимаем кнопку Home и свертываем приложение, потом нажимаем на иконку приложения - оно восстанавливается на полный экран. Никто не сталкивался? |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Уточню, а то всю голову себе сломал уже.
1. Приложение имеет только горизонтальное расположение, что прописано в манифесте: <!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the device --> <aspectRatio>landscape</aspectRatio> <!-- Whether the app will begin auto-orienting on launch. Optional. Mobile only. Default false --> <autoOrients>false</autoOrients> <!-- Whether the app launches in full screen. Optional. Mobile only. Default false --> <fullScreen>true</fullScreen> Как это вылечить? Приложение на старлинге, довольно много ресурсов. |
|
|||||
Не знаю с чем это связано, но скорее всего событие Resize выдает неправильные размеры экрана, то есть ширину вместо высоты и наоборот. Почему так, я до конца не разобрался. У меня в Android'e была похожая проблема. Добавил такую проверку:
|
|
|||||
вот непомню точно, но вроде была похожая проблема, связка старлинг-физерс постоянно путалась с размером:
в аппе такой код private function onResize(e:*):void { // set rectangle dimensions for viewPort: var viewPortRectangle:Rectangle = new Rectangle(); viewPortRectangle.width = stage.stageWidth; viewPortRectangle.height = stage.stageHeight; // resize the viewport: starling.viewPort = viewPortRectangle; starling.stage.stageWidth = stage.stageWidth; starling.stage.stageHeight = stage.stageHeight; } |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
А событие RESIZE какой сцены? Нативной или старлинга?
Что-то у меня не помогло. |
|
|||||
нативной
Добавлено через 4 минуты хмм, только догадки остались, а попробуйте сравнить нативный stage.fullScreenWidth, stage.fullScreenHeight и stage.stageWidth; stage.stageHeight ? Смутная еще какая то ассоциация есть с stage.deviceOrientation - может там что то противоположное с шириной/высотой старлинга старлинг второй? |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Нет, 1.7
private function onResize( e : Event ) : void { if ( !Starling.current ) return; DebuggerMobile.traceLog( '[..onResize]', stage.stageWidth, stage.stageHeight, Starling.current.stage.stageWidth, Starling.current.stage.stageHeight ); // set rectangle dimensions for viewPort: var viewPortRectangle : Rectangle = new Rectangle(); viewPortRectangle.width = stage.stageWidth; viewPortRectangle.height = stage.stageHeight; // resize the viewport: Starling.current.viewPort = viewPortRectangle; Starling.current.stage.stageWidth = stage.stageWidth; Starling.current.stage.stageHeight = stage.stageHeight; } Т.е., действительно стороны перепутаны. Но дальнейший код ничего не исправил. |
|
|||||
ну что придумать еще? попробуйте силовой ресайз, везде где есть подозрения, обязательно в NativeApplication - Event - "activate".
старлинговский контекст восстанавливается после пробуждения? или работает старый? |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Все совершенно работоспособно.
С учетом того, что видна только часть. )) Вообще такое ощущение, что изменилось только окошко, через которое видно приложение. Само оно на том же месте, что и раньше. Цитата:
|
|
|||||
Если у вас размеры рутового физерс контейнера привязаны к AUTOSIZE_MODE_STAGE, то не думаю что он виноват. Тем более там у вас вроде видно что старлинг не принимает правильный размер натив стейджа.
Но если можно легко его отключить и проверить, то всегда лучше отбрасывать возможные варианты. Сейчас похожу по коду старлинга, как он там реагирует на смену ориентации и стейджа. Может глянуть stage.fullScreenWidth, от них отталкиваться при создании вьюпорта старлинга? У вас апп с системной панелью iOS? или в полный экран? Добавлено через 16 минут вот с этими тегами пробовали играть? Последний раз редактировалось ShockWave512; 25.01.2017 в 15:43. |
Часовой пояс GMT +4, время: 06:21. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|