Swiftui - Как сосредоточить текстовое поле в листе, как он появляется?IOS

Программируем под IOS
Ответить
Anonymous
 Swiftui - Как сосредоточить текстовое поле в листе, как он появляется?

Сообщение Anonymous »

I have a search TextField within a View that is triggered to appear within a sheet on top of the ContentView.
I'm able to automatically focus this TextField when the sheet appears using @FocusState and onAppear, however, I'm finding that the sheet needs to fully appear before the TextField is focused and the on screen keyboard Появится.

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

struct ContentView: View {
@State var showSearch = false

var body: some View {
Button {
showSearch = true
} label: {
Text("Search")
}
.sheet(isPresented: $showSearch) {
SearchView()
}
}
}

struct SearchView: View {
@State var searchTerm = ""
@FocusState private var searchFocus: Bool

var body: some View {
TextField("Search", text: $searchTerm)
.focused($searchFocus)
.onAppear() {
searchFocus = true
}
}
}
Есть ли другой способ сделать это, который заставит клавиатуру появляться по мере появления листа, что делает общий опыт чувствовать себя более плавным?

Подробнее здесь: https://stackoverflow.com/questions/752 ... -appearing
Ответить

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

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

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

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

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