Я пытаюсь использовать несколько WKHostingController
в проекте SwiftUI WatchOS.
Я хочу иметь возможность перейти с одного контроллера на 3 контроллера.
Пользователь нажимает кнопку в первом ContentView(1)
(в паре с HostingController(1)
), который затем перемещает их к серединеконтроллер в 3-х групповом наборе HC3
(или HostingController3
, с Идентификатором HC3
)
Код выглядит следующим образом:
struct ContentView: View {
var body: some View {
VStack{
NavigationLink(destinationName: "HC3"){
Text("Go to other wk")
}
}
}
}
Контроллер хостинга:
class HostingController: WKHostingController<AnyView> {
override var body: AnyView {
return AnyView(ContentView())
}
}
Это приводит меня к HC3
Но я не могу перейти к HC2
или HC4
, чтобы создать просмотр нескольких страниц, где пользователь может прокручивать между HC2
, HC3
и HC4
. Все HostingController 2-4 имеют HostingControllers и ContentViews, подобные приведенным выше.
Я также удостоверился, что HC2
, HC3
и HC4
имеют отношения Next Page
линейно HC2 -> HC3 -> HC4
Если я установил флажок начального контроллера для HC2
в инспекторе атрибутов я могу перемещаться между HC2
, HC3
и HC4
, как и ожидалось, но если я установлю флажок начального контроллера для HC3
, я могу перемещаться только между HC3
и HC4
даже когда существуют те же самые отношения HC2 -> HC3 -> HC4
.
У меня две проблемы, первая (1) Переход от HC1
к HC3
, где HC3
имеет отношение Next Page
без изменений (это означает, что я могу пролистать HC2 HC3 HC4
за секунду (2) Возможность иметь промежуточный контроллер хостинга, чтобы поддерживать связь, где он находится Next Page
с другим HostingController.
Есть идеи, как я могу заставить эту работу работать?