SwiftUI Academy · Урок

Пружины и пользовательские кривые времени

Настраивайте движение с помощью пружин и плавности.

Урок 4 из 413 шагов

«Пружины и пользовательские кривые времени» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Неявные анимации
  2. Явные анимации с withAnimation
  3. Переходы при добавлении и удалении
  4. Пружины и пользовательские кривые времени
← Назад к SwiftUI Academy