Просмотр списка в SwiftUI показывает серую область над списком, от которой я не могу избавиться

#swiftui

#swiftui

Вопрос:

Я не собираюсь лгать, но модификаторы в SwiftUI очень хитрые. Я хочу избавиться от серой области над моим списком. Я перепробовал все, отступы, смещение, фрейм, вы называете это. Он все еще там. Почему это все равно там. Это какой-то заголовок, который я мог бы отменить? В любом случае, вот код:

            List{
                
                ForEach(prim, id: .id)  { value in
                    GeometryReader { geometry in
                    HStack {
                        Text(value.label)
                            .font(.system(size: 12))
                            .padding(.vertical, 0)
                            .frame(width: geometry.size.width/4)
                        
                        Spacer(minLength: geometry.size.width/4)
                        
                        TextField("", value: value.data   , formatter: NumberFormatter())
                            .font(.system(size: 12))
                            .padding(.vertical, 0)
                            .keyboardType(.numberPad)
                            .textFieldStyle(RoundedBorderTextFieldStyle())
                            
                    }.padding(.top, 0)
                    }.padding(.top, 0)
                }.padding(.top, 0)
            }
            .padding(.top, 0)
            .listStyle(GroupedListStyle())
  

введите описание изображения здесь
Я не определил серую область, так почему она там? Он опускает мой список, и поэтому мой третий элемент в списке исчезает.

Ответ №1:

Если он не пуст NavigationView (потому что неясно, где размещен этот список), то это связано с используемым стилем списка.

Вместо этого вы можете использовать простой стиль

         }
        .padding(.top, 0)
        .listStyle(PlainListStyle())
  

Комментарии:

1. ты гений, я рвал на себе волосы за это. Но теперь ясно, что я должен был это увидеть — это модификатор «group», который должен был привлечь мое внимание!!

2. Есть ли способ избавиться от этого верхнего / нижнего заполнения, все еще используя GroupedListStyle?

Ответ №2:

Прежде var body: some View чем поместить это:

 init()
{
    UITableView.appearance().backgroundColor = .clear
}