SwiftUI - открытие представления навигации с кнопкой "Назад" и наполовину серым экраном / странное поведение
Я пытаюсь добавить представление навигации в свое приложение, но это вызывает проблемы. Мой основной интерфейс - это карусель страниц, которую можно пролистывать бесконечно. Изначально это выглядит так:
Затем, когда я помещаю его в представление навигации, он открывается вот так, с кнопкой "Назад" и ничего больше:
Когда я нажимаю кнопку "Назад", это выглядит так:
Левая сторона поддерживает смахивание, как и оригинальный интерфейс, но когда я касаюсь правой серой стороны, я возвращаюсь на пустую страницу с помощью кнопки "Назад".
Есть идеи, что может быть причиной этого? Я реализовал бесконечную карусель, поместив каждую страницу в ZStack и используя offsets/relativeLocation. Я сослался на этот учебник:https://www.youtube.com/watch?v=fB5MzDD1PZI
Могу я не использовать NavigationView? Есть ли альтернативный маршрут, по которому я могу создать свой собственный верхний NavBar и перейти к отдельным представлениям без NavigationBar/NavigationLink?
Любая помощь приветствуется, и, пожалуйста, не стесняйтесь задавать вопросы и т. Д. Спасибо!
2 ответа
Вы хотите подать заявку
StackNavigationViewStyle
на ваш
NavigationView
.
NavigationView {
...
}.navigationViewStyle(StackNavigationViewStyle())
Вы столкнулись с нежелательным разделением экрана, и вы можете найти дополнительную информацию здесь.
Для больших устройств, таких как iPad или iPhone Pro Max в альбомной ориентации, по умолчанию
DoubleColumnNavigationViewStyle
.
Вы можете настроить кнопку на отклонение, и она может сработать, но я не знаю, что вы хотите.
Он вернет вас к предыдущему экрану.
@IBAction func backButton(_ sender: Any) {
dismiss(animated: true, completion: nil)
}