У меня есть представление в форме. Когда я ввожу текстовое поле, вид застревает поверх клавиатуры.
Рассматриваемый код:
// other stuff
Form {
Section {
TextField("Enter your desired username", text: $page.username)
}
Section {
Button(action: createUser) {
Label("Sign Up", systemImage: "person.crop.circle.badge.plus")
}
}
}
// this is getting stuck on top of keyboard
Group {
Text("By signing up you agree to")
// other stuff
}
На что это похоже:
Как видите, вид «При регистрации вас...» застрял над клавиатурой. Я подозреваю, что это как-то связано с меню.
Как мне избавиться от этого?
Как насчет положить его в zstack? и опубликуйте больше кода, чтобы мы могли вам помочь
У вас есть форма и группа внутри какого-то другого контейнера, например VStack? Я предполагаю, что вы должны… если это так, решение состоит в том, чтобы добавить .ignoresSafeArea(.keyboard, edges: .bottom)
в этот контейнер.
например.,
VStack {
Form {
...
}
Group {
...
}
}
.ignoresSafeArea(.keyboard, edges: .bottom)
Применение ignoresSafeArea
к группе не работает, потому что размер ее контейнера (здесь VStack) по-прежнему изменяется с помощью клавиатуры. Если добавление ignoresSafeArea
в ваш контейнер имеет нежелательные последствия, опубликуйте больше своего кода, чтобы мы могли понять ситуацию.
"представление застряло поверх клавиатуры" Это форма, а не список. Так в чем проблема?