在 watchOS 中,是不是可以显示没有通向根视图的状态栏按钮的视图?

Posted

技术标签:

【中文标题】在 watchOS 中,是不是可以显示没有通向根视图的状态栏按钮的视图?【英文标题】:In watchOS, is it possible to display a view without a status bar button that leads to the root view?在 watchOS 中,是否可以显示没有通向根视图的状态栏按钮的视图? 【发布时间】:2019-08-24 07:05:41 【问题描述】:

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

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

以下是锻炼应用的初始视图

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

【问题讨论】:

你能添加一些你想要的图片吗 刚刚添加,谢谢。 【参考方案1】:

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

    .navigationBarBackButtonHidden(true)

你试过了吗?

【讨论】:

【参考方案2】:

我觉得你需要看看 reloadRootPageControllers()

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

基本想法似乎是您将当前的界面控制器替换为此方法中列出的命名控制器。

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

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

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

希望对您有所帮助。

【讨论】:

以上是关于在 watchOS 中,是不是可以显示没有通向根视图的状态栏按钮的视图?的主要内容,如果未能解决你的问题,请参考以下文章

WatchOs 上不显示 ScrollView 内的列表

如何更改独立 watchOS 应用的显示名称?

WatchOS 6.0、Swift 5.0:无背景触觉

如何在 watchOS 上像文本视图一样显示文本

watchOS 是不是支持自定义 SiriKit Intent 的语音快捷方式?

如何在 WatchOS2 中显示系统加载屏幕?