Пружины и пользовательские кривые времени
Настраивайте движение с помощью пружин и плавности.
«Пружины и пользовательские кривые времени» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.
Характер движения
То, как анимация ускоряется и останавливается, формирует её характер. Кривая времени определяет, будет ли движение резким, плавным или упругим.
Линейная кривая постоянна
Кривая linear перемещает объект с постоянной скоростью от начала до конца. Она может ощущаться механической, поэтому больше подходит для индикаторов выполнения, чем для интерфейса.
.animation(.linear, value: x)Плавное начало и завершение
Кривая easeInOut начинается медленно, ускоряется, а затем плавно замедляется до остановки — это самый естественный выбор для большинства элементов интерфейса.
.animation(.easeInOut, value: x)Сравнение easeIn и easeOut
Используйте easeIn, чтобы начать плавно, и easeOut, чтобы плавно остановиться. Выбирайте, какой конец движения должен ощущаться мягче.
Знакомство с пружинами
Анимация spring моделирует реальную физику: слегка превышает конечное положение и затем стабилизируется, создавая живое и отзывчивое движение.
.animation(.spring, value: x)Настройка упругости
Параметр bounce задаёт упругость движения. Нулевое значение даёт плавное движение, а большие значения добавляют игривый перелёт за конечную точку.
.spring(duration: 0.5, bounce: 0.3)Скорость реакции и затухание
Пружины также можно настроить с помощью response, отвечающего за скорость, и параметра damping, определяющего, как быстро затухает колебание.
.interpolatingSpring(
stiffness: 170, damping: 15)Пользовательские кривые Безье
Для полного контроля timingCurve позволяет определить пользовательскую кривую Безье с собственными управляющими точками и длительностью.
.timingCurve(0.2, 0.8, 0.2, 1,
duration: 0.5)Добавление задержки
Добавьте .delay к любой анимации, чтобы подождать перед её началом. Это особенно удобно для последовательного появления нескольких элементов.
.animation(.spring.delay(0.1), value: x)Повторение движения
Используйте repeatForever или repeatCount, чтобы зациклить анимацию. Это идеально подходит для пульсирующих точек и подсказок о загрузке.
.easeInOut.repeatForever(
autoreverses: true)Ускорение и замедление
Модификатор .speed ускоряет или замедляет анимацию, не заставляя переписывать её кривую или длительность.
.animation(.default.speed(2), value: x)Быстрая проверка
Какая кривая создаёт наиболее естественное повседневное движение в интерфейсе?
Итоги: кривые и пружины
Вы изучили кривые времени — от linear до easeInOut, живые пружины с bounce, пользовательские кривые Безье, задержки и повторы. Теперь ваше движение обладает характером. 🚀
Изучай Swift с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Пружины и пользовательские кривые времени» бесплатный?
Да — полный текст урока «Пружины и пользовательские кривые времени» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.
Чему я научусь в уроке «Пружины и пользовательские кривые времени»?
Настраивайте движение с помощью пружин и плавности. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SwiftUI Academy?
Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Пружины и пользовательские кривые времени»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SwiftUI Academy?
Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Неявные анимации
- Явные анимации с withAnimation
- Переходы при добавлении и удалении
- Пружины и пользовательские кривые времени