Сделать больше!

Мы можем создать приложение в SwiftUI относительно быстро, но мы не говорим о скучном и утомительном приложении. Самый важный момент при создании приложения - это не код, стоящий за ним. Это ничего не значит для пользователя и его не волнует. UX / UI - одна из самых важных частей приложения. Без них вы, как разработчик, будете тратить время на создание приложения, которое не будет продаваться (скачиваться).

Анимация - один из ключевых факторов в дизайне. Он оживляет элементы и делает их более интересными. К настоящему моменту вы знаете, что вся эта анимация, элементарная штука конвертируется в ПРОДАЖУ (загрузка).

Традиционный способ анимации - использование таймера. Если вы новичок в SwiftUI, просто подумайте о CSS в сочетании с JavaScript, чтобы сделать элементы интересными. В Swift теория, лежащая в основе этого, заключается в том, что таймер срабатывает каждое количество секунд, которое мы хотим, и когда этот таймер срабатывает, мы можем запустить код, чтобы обновить или изменить свойства элементов: положение, масштаб, непрозрачность, или другие.

Первое, что нужно запустить для анимации на основе таймера, - это установить таймер. В SwiftUI таймеры могут быть издателями, поскольку они публикуют постоянный поток значений в соответствии с продолжительностью, установленной на таймере:

let timer = Timer.publish (каждые: 1, в: .current, в: .common) .autoconnect ()

Если мы посмотрим на рисунок 1, он выглядит не очень хорошо. Она настолько проста и понятна, что я бы ее никогда не скачивал.

Но давайте сделаем его более красочным. Мы построим несколько кругов разного цвета и на основе созданной нами функции таймера каждую секунду круги будут сжиматься и исчезать. Вы также можете сделать в обратном порядке: вы можете заставить круги расширяться вдвое по сравнению с их первоначальным размером, а затем исчезать. Рисунок 2 иллюстрирует процесс усадки.

Это простой демонстрационный код, позволяющий полностью понять потенциал создания отличных анимаций с меньшими затратами времени и усилий. Вы можете создавать интересные загружаемые изображения, анимацию логотипов и т. Д. В SwiftUI.