#swiftui
#swiftui
Вопрос:
Я пытаюсь открыть представление при нажатии кнопки, а не при нажатии на навигационную ссылку, но все, что я могу найти в Интернете, — это как это сделать с помощью навигационной ссылки. Итак, как вы это делаете без?
Код:
@State var goToMainView = false
NavigationLink(destination: ContentView(),isActive: $goToMainView,label:{}).hidden()
Button(action: {
goToMainView = true
context.delete(goal)
do {
try context.save()
} catch {
print(error)
}
}, label: {
Text("Delete Goal")
})
Ответ №1:
Вы можете перемещаться с помощью кнопки, используя NavigationLink
@State var goToSecondView = false
NavigationView {
VStack {
NavigationLink(destination: SecondView(),isActive: $goToSecondView,
label: { EmptyView() })
}.hidden()
Button(action : { goToSecondView = true } , label : { Text("Click On Me") })
}
}
И для получения более подробной информации я написал эту статью , она может помочь вам
в навигации с помощью SwiftUI
Комментарии:
1. Спасибо, это очень помогает, однако, когда я пытаюсь сделать это, чтобы вернуться к просмотру, он открывает предыдущий вид в совершенно новом подробном виде. Итак, как мне это исправить и вернуться к просмотру?
2. @EthanPervere можете ли вы предоставить некоторый код того, что именно вы сделали?
3. Я добавил код, в котором я удаляю что-то в CoreData, а затем удаляю страницу.
4. В чем причина перехода к другому
View
после того, как этоdelete
будет сделано? , В любом случае, если вам нужно обновить страницу после возврата к ней, используйтеonAppear{}