Я пишу приложение, используя SwiftUI
, и у меня возникают некоторые проблемы с NavigationView
и Navigation Link
, как показано ниже в видео симулятора. Проект был создан как Single View App
.
У меня есть три страницы, и, как вы можете видеть, когда он переносит меня с одной страницы на другую, он строит вторую страницу под первой, и не• Выделите первую, и у меня та же проблема на третьей странице: она создается ниже второй, и я даже могу вернуться на первую страницу с помощью неисправной кнопки back
в левом верхнем углу.
Видео:

Это код трех страниц:
first.swift
import SwiftUI
struct first: View {
var body: some View {
NavigationView{
NavigationLink(destination: second()) {
Text("first link")
}
}
}
}
struct first_Previews: PreviewProvider {
static var previews: some View {
first()
}
}
second.swift
import SwiftUI
struct second: View {
var body: some View {
NavigationView {
NavigationLink(destination: third()) {
Text("second link")
}
}
}
}
struct second_Previews: PreviewProvider {
static var previews: some View {
second()
}
}
third.swift
import SwiftUI
struct third: View {
var body: some View {
Text("Third page")
}
}
struct third_Previews: PreviewProvider {
static var previews: some View {
third()
}
}
Я использую Navigation View
так же, как это делает официальный учебник Apple (или припо крайней мере, я думаю, что я…) здесь
Спасибо!
Редактировать: У меня все еще остается та же проблема с этим кодом, несмотря наопределен только один NavigationView
. Проблема вернулась после того, как я загрузил в Xcode 11.2, но в Замечаниях к выпуску ничего не говорится о каких-либо изменениях, внесенных в NavigationView
.
first.swift
import SwiftUI
struct first: View {
var body: some View {
NavigationView {
NavigationLink(destination: second()) {
Text("First link")
}
}
}
}
struct first_Previews: PreviewProvider {
static var previews: some View {
first()
}
}
second.swift
import SwiftUI
struct second: View {
var body: some View {
NavigationLink(destination: first()) {
Text("back to first")
}
}
}
struct second_Previews: PreviewProvider {
static var previews: some View {
second()
}
}
Видео:

Еще раз спасибо!