SwiftUI Layout Protocol: как работать с версткой в SwiftUI
Хотя создавать базовый лэйаут несложно, существует множество вариантов, с которыми могут быть трудности.
Ниже будут рассмотрены не только типичные примеры для Layout, но и ряд важных моментов для формирования базы.
Весь материал состоит из двух больших частей, для удобства они сгруппированы по темам.
Первая часть:
➡️ Что такое Layout Protocol?
➡️ Разбор View Hierarchy.
➡️ Первая реализация лэйаута.
➡️ Выравнивание контейнеров.
➡️ Кастомные значения: LayoutValueKey.
➡️ Дефолтный Spacing.
➡️ Для чего нужен Spacer().
➡️ Layout Cache.
➡️ Переключение между лэйаутами с помощью AnyLayout.
➡️ Выводы.
Вторая часть:
➡️ Пусть начнётся веселье!
➡️ Кастомные анимации.
➡️ Двунаправленные кастомные значения.
➡️ Избежание зацикливания и крашей.
➡️ Рекурсивные лэйауты.
➡️ Композиция лэйаутов.
➡️ Еще один пример композиции: Интерполяция.
➡️ Использование binding-параметров.
➡️ Полезный инструмент отладки.
➡️ Заключительные мысли.
🐱 Больше разборов, примеров анимаций, алгоритмов и архитектур — доступно вот здесь.
😃 iOS IQ
Хотя создавать базовый лэйаут несложно, существует множество вариантов, с которыми могут быть трудности.
Ниже будут рассмотрены не только типичные примеры для Layout, но и ряд важных моментов для формирования базы.
Весь материал состоит из двух больших частей, для удобства они сгруппированы по темам.
Первая часть:
➡️ Что такое Layout Protocol?
➡️ Разбор View Hierarchy.
➡️ Первая реализация лэйаута.
➡️ Выравнивание контейнеров.
➡️ Кастомные значения: LayoutValueKey.
➡️ Дефолтный Spacing.
➡️ Для чего нужен Spacer().
➡️ Layout Cache.
➡️ Переключение между лэйаутами с помощью AnyLayout.
➡️ Выводы.
Вторая часть:
➡️ Пусть начнётся веселье!
➡️ Кастомные анимации.
➡️ Двунаправленные кастомные значения.
➡️ Избежание зацикливания и крашей.
➡️ Рекурсивные лэйауты.
➡️ Композиция лэйаутов.
➡️ Еще один пример композиции: Интерполяция.
➡️ Использование binding-параметров.
➡️ Полезный инструмент отладки.
➡️ Заключительные мысли.
🐱 Больше разборов, примеров анимаций, алгоритмов и архитектур — доступно вот здесь.
😃 iOS IQ