Почему NavigationLink иногда не работает, даже если мы изменяем переменную isActive?IOS

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

Сообщение Anonymous »

Вы когда-нибудь сталкивались с тем, что NavigationLink иногда не работает, но когда вы прокручиваете список вниз или делаете что-то еще, навигация срабатывает?

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

 NavigationView {
List {
//.... some views
}
NavigationLink(destination: destinationView(),
isActive: $isShowDestination) {
EmptyView()
}
}
Ответ:[/b]
После нескольких попыток я обнаружил, что когда я нажимаю, чтобы нажать (изменяя переменную isShowDestination/isActive), навигация не переходит к Представление «Назначение», но когда я прокручиваю список вниз, он автоматически срабатывает и переходит в представление «Назначение».
Затем я понял, что, поскольку список имеет много представлений, при прокрутке вниз появляется onAppear происходит какое-то событие, запускающее работу NavigationLink.
Затем я добавил VStack и поместил NavigationLink внутри списка. , и все начало работать хорошо.
пример:

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

 NavigationView {
VStack {
List {
//.... some views
}
NavigationLink(destination: destinationView(),
isActive: $isShowDestination) {
EmptyView()
}
}
}
Надеюсь, это поможет хотя бы одному из вас.🙋

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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