Как убрать верхний пробел `Form` в SwiftUI? - PullRequest
0 голосов
/ 03 ноября 2019

Как правильно выровнять форму в навигационном представлении. У меня есть ниже, когда я удаляю NaviagationView из тела, форма выравнивается по верху. С NavigationView на месте, я получаю промежуток между ними (красное поле добавлено, чтобы показать пространство). Я могу использовать .padding (.top, -20) в Форме, но пока это работает, он слегка искажает.

Screenshot

NavigationView {
            Form {
                VStack {
                    HStack {
                        Text("Name:").underline().font(.headline)
                        TextField("Name", text: $routine.name)

                    }
                    roundPicker()
                    TimeSelectionView(stateName: "A", stateDuration: "0:30", stateBackground: "#df405a")
                    TimeSelectionView(stateName: "B", stateDuration: "1:30", stateBackground: "#4ea1d3")
                    TimeSelectionView(stateName: "C", stateDuration: "3:00", stateBackground: "#4f953b")
                }
            }
            .navigationBarTitle("Create", displayMode: .inline)
            .navigationBarItems(trailing:
                Button(action: {
                    //Save Routine
                    self.routine.rounds = self.roundsArray[self.rounds]

                    print("Workout Name: \(self.routine.name)")
                    print("Workout Rounds: \(self.routine.rounds)")
                }, label: {
                    Text("Save")
                })
            )

        }

1 Ответ

1 голос
/ 03 ноября 2019

SwiftUI Form на самом деле является сгруппированным стилем UITableView под капотом, и это по умолчанию tableHeaderView. Таким образом, вы можете удалить его так:

struct ContentView: View {

    init() {
        UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))
    }

    var body: some View {
        ,,,
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...