Рассмотрим это очень простое представление: всего несколько ссылок на другие страницы. Если вы запустите это на iPhone, все будет работать как положено. Однако, запустите это на iPad в альбомной ориентации, и вы заметите, что в большинстве случаев ссылки просто не работают. Сломался в симе и реальном устройстве, что удивительно.
Когда вы меняете VStack
на List
, все работает внезапно.
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: Text("Link 1")) {
Text("Link 1")
.padding(.vertical)
}
NavigationLink(destination: Text("Link 2")) {
Text("Link 2")
.padding(.vertical)
}
NavigationLink(destination: Text("Link 3")) {
Text("Link 3")
.padding(.vertical)
}
NavigationLink(destination: Text("Link 4")) {
Text("Link 4")
.padding(.vertical)
}
NavigationLink(destination: Text("Link 5")) {
Text("Link 5")
.padding(.vertical)
}
}
Text("Hello iPad")
}
}
}
Есть кто-нибудь еще сталкиваешься с этой проблемой? Почему это происходит, и каков обходной путь? Кроме очевидного «использования списка»: p Я использую сетку VStack
s и HStack
s, чтобы показать ссылки в нескольких столбцах, настраиваемых для размера устройства. Поэтому изменение на List
не будет предпочтительным, если не будет необходимости на 100%.