Как полностью удалить горизонтальные «призрачные линии» внутри списка с разделами и настраиваемыми строками?IOS

Программируем под IOS
Ответить
Anonymous
 Как полностью удалить горизонтальные «призрачные линии» внутри списка с разделами и настраиваемыми строками?

Сообщение Anonymous »

Я работаю над экраном, который использует единый список SwiftUI, состоящий из:
  • верхнего блока (статистика, выбор месяца, выбор года, итог, выбор Entrata/Uscita).
  • списка транзакций, сгруппированных по дням, каждая группа внутри отдельного раздела.
  • каждая строка представляет собой полностью настраиваемую карточку с закругленными углами. (RoundedCornerShape)
Изображение

Я правильно удаляю все разделители, используя:

Код: Выделить всё

.listRowSeparator(.hidden)
.listSectionSeparator(.hidden)
.scrollContentBackground(.hidden)
.listStyle(.plain)
Каждая строка отображается следующим образом:

Код: Выделить всё

TransazioneSwipeRowView(...)
.listRowInsets(EdgeInsets(top: 0, leading: 16, bottom: 0, trailing: 16))
.listRowBackground(Color.clear)
Однако я по-прежнему вижу тонкие горизонтальные линии, появляющиеся между:
  • панелью поиска и верхним блоком
  • верхним блоком и началом списка
  • между строками внутри сгруппированного раздела
  • иногда внизу раздела
Эти линии НЕТ:
  • Divider()
  • системные разделители
  • фоны
  • границы строк
Они кажутся «призрачными линиями», автоматически генерируемыми SwiftUI List при наличии нескольких последовательных строк или разделов.
Цели
I хочу полностью удалить эти горизонтальные «призрачные линии», сохранив при этом:
  • собственный список SwiftUI
  • собственное поведение прокрутки
  • поддержку удаления с помощью смахивания
  • группировку по разделам
  • настраиваемые строки в виде карточек с закругленными углами
Что я уже сделал пробовал
  • .plain, .grouped, .insetGrouped стили списков
  • .listRowSeparator(.hidden) и .listSectionSeparator(.hidden)
  • .scrollContentBackground(.hidden)
  • очистка всего фона списка и строк
  • регулировка/удаление всех отступов и вставок
  • тесты Spacer(minLength: 0)
  • перестройка макета с помощью ScrollView + LazyVStack
    (это работает отлично — нет строк — но теряет встроенную функцию удаления пальцем по экрану)
Нет вызовов Divider() и цветов фона, которые могли бы генерироваться границы.
Похоже, что линии рисуются внутри SwiftUI.
Вопрос
Это встроенное поведение списка SwiftUI в стиле .plain при использовании нескольких пользовательских строк?
Или существует официально поддерживаемый способ полностью исключить эти линии?
Более конкретно, существует ли рекомендуемая комбинация модификаторов для достижения:
  • Список с сгруппированными разделами
  • полностью настраиваемые строки с закругленными углами
  • вообще нет горизонтальных разделителей, даже в пустых промежутках между
    разделами?
Мы будем очень признательны за любые рекомендации, документированные обходные пути, ссылки на WWDC или официальные рекомендации.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -section-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»