1

我希望有一个类似于 watchOS 中内置锻炼应用程序的导航结构。我有一个网球规则格式列表,类似于锻炼应用程序中的锻炼类型。点击一个在新的界面控制器中开始匹配。在 WatchKit 中,据我所知,我只能推送一个界面控制器或呈现一个。这两种方法都有用户从左上角的人字形中取消匹配或在呈现的模态中点击状态栏的风险。

锻炼在锻炼会话期间没有该限制,相反,用户通过在其基于页面的导航中切换页面来结束锻炼。SwiftUI 及其完全编程的 watchOS 应用程序开发方式是否允许实现这一点?

下面是锻炼应用程序的初始视图

在此处输入图像描述

选择锻炼会切换到无法点击左上角标题的屏幕,这是我想要完成的(初始视图完全隐藏,当您在三个页面之间滑动时不显示)

在此处输入图像描述

4

2 回答 2

3

也许您需要修改您的视图:

    .navigationBarBackButtonHidden(true)

你试过吗?

于 2019-10-02T15:02:04.510 回答
1

我认为你需要看看 reloadRootPageControllers()

https://developer.apple.com/documentation/watchkit/wkinterfacecontroller/2868441-reloadrootpagecontrollers

基本想法似乎是您正在用此方法中列出的命名替换当前接口控制器。

WKInterfaceController.reloadRootPageControllers(withNames: ["workout","nowPlaying"], contexts: [workoutToRecord], orientation: WKPageOrientation.horizontal, pageIndex: 0)

在我的 Interval Training 应用程序中,一旦用户选择了他们的锻炼,我就会调用此方法。然后这个界面被替换为锻炼界面,现在正在播放页面。

锻炼选择页面

您会注意到没有返回按钮让他们意外返回锻炼选择屏幕。

跑步锻炼

希望有帮助。

于 2019-10-01T22:30:07.543 回答