Мы в Telegram
Добавить новость
103news.com
Работа
Декабрь
2023

Нужно доделать приложение на ios

0
Нужно доделать приложение на ios, а именно сделать анимацию в приложение.
Приложение создано на objective-C.
Требуется анимировать смену размера rootView синхронно с системной анимацией поворота экрана при смене ориентации устройства. Высокоуровневые механизмы анимирования UIView (например UIViewControllerTransitionCoordinator::animateAlongsideTransition в UIViewController::viewWillTransitionToSize) тут не применимы, потому что содержимое rootView отрисовывается с помощью Metal, следовательно если через такую анимацию изменять frame, то в процессе анимации искажается соотношение сторон содержимого rootView.
Есть уже часть необходимой анимации на основе CADisplayLink (ios/ViewController.mm ViewController::resizeViewAnimation). И у этой реализации есть плавающая проблема (вероятно связанная с зависимостью от фреймрейта): анимация изменения размера rootView не всегда совпадает с системной анимацией поворота экрана и как следствие, возникают черные полосы справа и снизу rootView (см. приложенные файлы bug.mp4 и bug.png). Проблема плавающая: она периодически может возникать и пропадать, вероятно это зависит от уровня заряда аккумулятора устройства, количества запущенных в фоне приложений и положения звезд на небе.
Требуется поправить текущую реализацию, если не выйдет то создать новую, в которой бы изменение размера rootView всегда происходило абсолютно синхронно с системной анимацией поворота экрана при смене ориентации устройства. Также было бы здорово, если бы получилось сделать эту анимацию более плавной чем это выглядит сейчас (см. приложенный файл bug.mp4). В текущей реализации видна ступенчатость анимации (вероятно это связано с линейной интерполяцией ios/ViewController.mm ViewController::lerp).
Важно что бы анимация одинакого хорошо работала на всех устройствах (iPhone и iPad). В реализации не следует использовать сторонних библиотек, необходимо реализовать все стандартными инструментами iOS/UIKit/objective-C.
Что бы собрать проекта нужно будет Cmake >=3.19 и Qt 6.6.1 (iOS), установить его можно с сайт, через MaintenanceTool. Для сборки необходимо в терминале перейти в директорию проета и запустить скрипт build.ios.sh. После успешной сборки в директории проекта появится каталог build.ios с проектом xcodeproj, который можно открыть и собрать в Xcode. Если есть необходимость запустить проект в симуляторе, то следует запустить скрипт build.ios.simulator.sh и открыть xcodeproj из каталога build.ios.simulator, но я настоятельно рекомендую проводить тестирование на реальном устройстве: на примере моей реализации видно, что поведение анимации в симуляторе не совпадает с ее поведением на устройстве. Для тестирования желательно использовать устройство с iOS не старше 16.7.3. В более поздних версиях, фон отображаемый при системной анимации смены ориентации был заменен на черный, когда как в версиях <=16.7.3 он представляет собой затемненный фон рабочего стола (см. приложенные файлы bug.mp4 и bug.png), что позволит более прицельно отследить синхронность анимаций. И так же запустить проект на реальном устройстве можно например при помощи AltStore.






Губернаторы России
Москва

Неделя мэра: завод «Москвич», гранты для школ искусств и система городских вокзалов





Москва

Состоялась Байкальская театральная школа в Бурятии: Россия и Культура, Дети


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Сергей Собянин: в ТиНАО создадут новые управы районов



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Песня

Совместная Песня со Звездой.




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Семьи из Подмосковья поборются за выход в финал конкурса «Это у нас семейное»

Гандболистки «Ставрополья» в Москве уступили хозяйкам паркета из «Луча»

Стартовал финальный этап всероссийского футбольного турнира «Будущее зависит от тебя»


WTA

Ангеліна Калініна поступилася восьмій ракетці світу Саккарі на турнірі WTA 1000 у Римі: результат



Новости Крыма на Sevpoisk.ru


Москва

Брикет яда: Роскачество назвало 2 марки сливочного масла, которые ни в коем случае нельзя покупать



Частные объявления в Вашем городе, в Вашем регионе и в России