Основная идея
ScrollView — контейнер, который позволяет прокручивать содержимое, если оно не помещается на экран. Это базовый компонент для создания скроллируемых интерфейсов.
Ключевые аспекты
- ScrollView(.vertical) — вертикальный скролл (по умолчанию)
- ScrollView(.horizontal) — горизонтальный скролл
- ScrollView([.vertical, .horizontal]) — скролл в обоих направлениях
- showsIndicators — показ/скрытие индикаторов скролла
- LazyVStack/LazyHStack — lazy loading содержимого
Плюсы
- Полный контроль над содержимым
- Поддержка горизонтального скролла
- Работает с любыми views
- Комбинируется с LazyVStack для производительности
Минусы
- Не lazy по умолчанию (все views создаются сразу)
- Нет встроенных стилей как у List
- Требует явного задания направления
Частые ошибки на собеседованиях
- Забывают про LazyVStack для длинных списков
- Не знают разницу между ScrollView и List
- Путают оси скролла
- Используют ScrollView где достаточно List