Swiftui Focusedfield всегда нулевой после введения модификатора листаIOS

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

Сообщение Anonymous »

Я пытаюсь обновить FocusedField на основе взаимодействия пользователя с Textfield. Все работало нормально, пока я не положил текстовые полей в лист. Теперь сфокусированное поле всегда ноль. Может быть, потому что лист постоянно переоценивается. Вот часть кода: < /p>
enum TripField: Hashable {
case pickup, destination
}

struct PlanYourRideScreen: View {

@FocusState private var focusedField: TripField?
@State private var trip = Trip()

var body: some View {

VStack {

Map {

}

}
.task(id: trip, {
print("task")
let _ = print(focusedField)
// focusedField is always nil. Even though I tap on the TextField.
})

.sheet(isPresented: .constant(true), content: {
VStack {

VStack(spacing: 12) {
RoundedRectangle(cornerRadius: 8)
.stroke(Color.gray, lineWidth: 1)
.frame(height: 50)
.overlay(
HStack {
Image(systemName: "circle.fill")
.foregroundColor(.blue)
TextField("Pickup location", text: $trip.pickup)
.textFieldStyle(PlainTextFieldStyle())
.padding(.leading, 5)
.focused($focusedField, equals: .pickup)
}
.padding(.horizontal)
)

}


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

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

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

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

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

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