Как добавить пустое пространство внизу формы в SwiftUI? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть модальный лист в SwiftUI для добавления записи. Модальный лист использует форму с несколькими элементами TextField. Теперь я хотел бы добавить некоторое пространство в конец формы того же цвета, что и фон формы (серый).

Добавление padding () к последнему TextField приводит к тому, что все TextFields имеют заполнение. Затем я попытался добавить Text (""). Hidden (). Padding (.bottom, 500) в качестве последнего элемента формы, но затем пространство заполнилось белым фоновым цветом.

Обновление: вот результат, который вы получите, если вы поместите проставку с отступом внутри представления формы (фон для демонстрации красный):

enter image description here

Это код:

import SwiftUI

struct ContentView: View {
    var body: some View {
        HStack {
            Text("Hello, World!")
        }
        .sheet(isPresented: .constant(true), content: { SheetView() }
        )
    }
}

struct SheetView: View {
    var body: some View {
        Form {
            TextField("Demo Field", text: .constant("KK"))
            Spacer()
                .padding(.bottom, 500)
                .background(Color(.red))
        }
    }
}

То, что я ищу, такое же, как в приложении контактов Apple. Если вы go наберете «Новый контакт» и прокрутите вниз до конца формы, появится достаточно места:

enter image description here

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Чтобы достичь этого, вы должны использовать section

struct SheetView: View {
    var body: some View {
        Form {
            Section(header: Text("")) {
                TextField("Demo Field", text: .constant("KK"))
            }
            Section(header: Text("")) {
                EmptyView()

            }
            .padding(.bottom, 200)
            Section(header: Text("")) {
                TextField("Demo Field", text: .constant("KK"))
            }
        }
    }
}

Результат:

enter image description here

0 голосов
/ 20 февраля 2020

Рассмотрите возможность добавления Spacer() как таковое:

Spacer()
  .padding(.bottom, 500)
  .background(gray)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...