Как заставить клавиатуру не поднимать элементы управления в самом низу экрана, но все же поднимать вид, чтобы настроить IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить клавиатуру не поднимать элементы управления в самом низу экрана, но все же поднимать вид, чтобы настроить

Сообщение Anonymous »

В SwiftUI на iOS у меня есть следующий .sheet, который отображает DisclosureGroup, который содержит DisclosureGroup внутри него и имеет TextField. В самом низу .sheet находятся две кнопки «Отмена» и «Ввод», позволяющие пользователю отправить данные/отклонить их:

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

import SwiftUI

struct TestView: View
{
@State private var sheetIsPresented: Bool = false
@State private var outerDisclosureIsExpanded: Bool = false
@State private var innerDisclosureIsExpanded: Bool = false
@State private var textFieldUserInput: String = ""

var body: some View
{
Button("OK")
{
self.sheetIsPresented = true
}
.sheet(isPresented: self.$sheetIsPresented)
{
VStack
{
Form
{
Section(header: Text("Section"))
{
DisclosureGroup("Outer Disclosure Group", isExpanded: self.$outerDisclosureIsExpanded)
{
ForEach(1...20, id: \.self)
{
index in Text("Value \(index)")
}
DisclosureGroup("Inner Disclosure Group", isExpanded: self.$innerDisclosureIsExpanded)
{
TextField("Enter name", text: self.$textFieldUserInput)

}
}
}
}
}

HStack
{
Button("Cancel")
{
}
.buttonStyle(.bordered).padding()

Spacer()

Button("Enter")
{
}
.buttonStyle(.borderedProminent)
.padding()
}
}
}
}
Когда я активирую TextField, содержащийся во внутренней группе DisclosureGroup, клавиатура нажимает кнопки «Отмена» и «Ввод» в самом низу представления. , а также настроить представление так, чтобы TextField было видно по мере ввода пользователем:
Изображение

Я хотел бы сделать так, чтобы кнопки «Отмена» и «Ввод» не нажимались вверх , что клавиатура проходит над ними, поэтому они не видны, но при этом сдвигает View вверх, чтобы TextField был виден пользователю во время ввода. .ignoresSafeArea(.keyboard, Edges: .bottom) по какой-то причине не работает с этим кодом, но даже когда я пробовал его в других местах моего кода, он помещает клавиатуру поверх TextField , а также кнопки «Отмена» и «Ввод». Есть ли другой способ выполнить то, о чем я спросил?

Подробнее здесь: https://stackoverflow.com/questions/793 ... f-view-but
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вручную поднимать клавиатуру на мобильных устройствах
    Anonymous » » в форуме Html
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как разместить виджет Text/ListTile (внутри Drawer) в самом низу экрана телефона
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как я могу скрыть системную клавиатуру и использовать свою собственную клавиатуру, когда TextField находится в фокусе в
    Anonymous » » в форуме Android
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как я могу добавить вид на системную клавиатуру?
    Anonymous » » в форуме IOS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Выравнивание содержимого по низу при использовании flex
    Anonymous » » в форуме CSS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

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