В
SwiftUI появился долгожданный инструмент для точного контроля отступов в секциях
List - модификатор
listSectionMargins(). Теперь можно гибко настраивать отступы для отдельных секций, не прибегая к костылям.
Как это работает:
Модификатор принимает:
- edges - стороны для отступов (по умолчанию .all).
- length - величина отступа в точках.
Пример использования:
List {
Section("Новости") {
Text("Свежие обновления")
}
.listSectionMargins(.horizontal, 20) // Отступы по бокам
Section("Профиль") {
Text("Настройки")
}
.listSectionMargins(.top, 10) // Отступ сверху
}
Ключевые особенности:
- Переопределяет стандартные отступы: заменяет дефолтные отступы, заданные стилем списка.
- Работает с заголовками/подвалами: отступы применяются вокруг header и footer секции.
- Гибкость: можно задавать для конкретных сторон (.horizontal, .vertical, .top и т.д.) или для всех сторон сразу (.all).
- Не влияет на отступы между ячейками: для этого по-прежнему используем listRowSpacing.
До iOS 26 приходилось использовать:
- Неочевидные комбинации padding() + listRowInsets().
- Кастомные разделители.
- Костыли с GeometryReader.
Теперь все решается одним модификатором!
listSectionMargins() - это отличное дополнение для тонкой настройки списков!