С выходом
iOS 26 и
Liquid Glass компания
Apple добавила не только новый стиль, но и новые анимации переходов. Одна из самых заметных мелочей - морфинг листа (sheet) из кнопки, которая его вызывает. Вместо стандартного выезда снизу кнопка буквально превращается в модальное окно. Выглядит эффектно и требует совсем немного строк кода.
Как это работает:
Раньше любой
sheet просто выезжал снизу экрана, независимо от того, откуда его вызвали. Теперь можно связать кнопку и
sheet через общий namespace и
SwiftUI сам анимирует трансформацию одного в другое.
Все, что нужно - три простых шага:
- Создать namespace для анимации.
- Повесить на кнопку модификатор .matchedTransitionSource с уникальным ID.
- Добавить на лист .navigationTransition(.zoom(...)) с тем же ID и namespace.
@Namespace private var animation
Button("Выбрать дату") { showSheet = true }
.matchedTransitionSource(id: "datePicker", in: animation)
.sheet(isPresented: $showSheet) {
DatePickerView()
.navigationTransition(.zoom(sourceID: "datePicker", in: animation))
}
Где можно использовать:
Кнопка не обязана быть в тулбаре. Эффект работает отовсюду:
- Из нижней панели (как в примерах Apple).
- Из верхнего бара.
- Из обычной кнопки в центре экрана.
- Даже из ячейки списка.
Везде, где есть кнопка, можно сделать этот плавный переход. Анимация подстраивается под положение и размер исходного элемента.
Когда это уместно:
Морфинг
sheet - отличный способ визуально связать действие и результат. Пользователь нажимает на кнопку и видит, как она превращается в интерфейс выбора. Это добавляет приложению отзывчивости.
Но как с любой эффектной анимацией - важно не переборщить. Для частых действий или простых подтверждений лучше оставить стандартное поведение. А вот для ключевых сценариев, где хочется сделать акцент на переходе - самое то.
Вывод:
Морфинг листов из тех деталей, которые незаметны, когда они есть, но сразу бросаются в глаза, когда их нет.
Apple добавила эту анимацию не ради галочки, а чтобы интерфейс ощущался цельным: кнопка не просто запускает появление окна, а буквально становится им. Визуальная связь между действием и результатом работает на подсознании, и пользователю не нужно объяснять, откуда взялся лист - он просто вырастает из того места, куда нажали. Внедрение занимает минуту, но именно из таких минут складывается ощущение дорогого, продуманного продукта.