Использование нескольких контроллеров хостинга в SwiftUI на WatchOS - PullRequest
1 голос
/ 22 октября 2019

Я пытаюсь использовать несколько WKHostingController в проекте SwiftUI WatchOS.

Я хочу иметь возможность перейти с одного контроллера на 3 контроллера.

enter image description here

Пользователь нажимает кнопку в первом 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.

Есть идеи, как я могу заставить эту работу работать?

...