TextField не фокусируется при появлении представления?IOS

Программируем под IOS
Ответить
Anonymous
 TextField не фокусируется при появлении представления?

Сообщение Anonymous »

Не совсем понимаю, почему мой код не работает, но мое TextField не фокусируется при появлении представления.
Насколько я могу судить, мой код правильный и соответствует рекомендуемому решению.
Что я делаю неправильно?
Изменить: Я только что попробовал изменить задержку на 1 секунду, и, похоже, это работает. Но нет причин откладывать это на целую секунду...
struct SearchView: View {
@FocusState var isFocused: Bool

@State private var searchText = ""
@State private var isEditing = false

var body: some View {
NavigationStack {
VStack {
ZStack(alignment: .center) {
TextField(
"Search",
text: $searchText
)
.focused($isFocused)
.onAppear {
print("APPEARED")
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
isFocused = true
}
}
.padding(.horizontal, 24)
.frame(height: 64)
.background(.gray)
.cornerRadius(20)
.padding(.top, 32)
.padding(.horizontal, 32)
.onTapGesture {
self.isEditing = true
}
.autocorrectionDisabled()
.textInputAutocapitalization(.words)
.submitLabel(.search)
.onSubmit() {
runSearch()
}
}
}
}
}
}


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

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

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

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

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

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