Как использовать IgnoressaFearea с листом? [дублировать]IOS

Программируем под IOS
Anonymous
Как использовать IgnoressaFearea с листом? [дублировать]

Сообщение Anonymous »

Почему основной вид сдвигается вверх, когда текстовое поле в листе становится сфокусированным? Для меня это кажется визуально неверным независимо от контекста, и применение .IgnoressaFearea (.Keyboard) к vStack , похоже, не решает проблему.
struct ContentView: View {
let colors: [Color] = [.green, .red, .blue, .pink, .purple]
@State private var sheetShown = false
@State private var q = ""

var body: some View {
NavigationStack {
VStack {
ForEach(colors, id: \.self) { color in
Rectangle()
.fill(color)
.frame(height: 120)
}

Spacer()

Button { sheetShown = true }
label: { Text("Show Sheet") }
.buttonStyle(.borderedProminent)
}
.ignoresSafeArea(.keyboard)
.padding()
}
.sheet(isPresented: $sheetShown) {
VStack {
Text("hello")
TextField("Search", text: $q)
}
}
}
}

#Preview {
ContentView()
}

< /code>
Без фокусировки на вводе:


< /p>
с фокусировкой на входе (см. Зеленый прямой выставку, высаживание с конца):

. src = "https://i.sstatic.net/pl2yjmfg.png" width = "300"/>


Подробнее здесь: https://stackoverflow.com/questions/796 ... th-a-sheet

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