首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从watchkit扩展模块中基于页面的导航开始分层导航

从watchkit扩展模块中基于页面的导航开始分层导航
EN

Stack Overflow用户
提问于 2015-08-17 20:15:13
回答 1查看 418关注 0票数 4

Apple Watch编程指南指出,不能将基于页面的导航和分层导航混为一谈。

我的苹果手表应用程序从分层导航中的主界面控制器开始,根据相关数据的可用性,它使用WKInterfaceControllerreloadRootControllersWithNames启动基于页面的导航。

现在在基于页面的导航中,当我没有要显示的相关数据时,我想结束基于页面的导航,并再次开始使用Maininterfacecontroller的分层导航。

EN

回答 1

Stack Overflow用户

发布于 2016-04-02 04:35:01

正如Apple's Interface Navigation documentation所说,基于页面的导航和分层导航是互斥的。你对此的解释是,你不能同时交错它们,但这不是苹果所说的。相反,您必须为您的WatchKit应用程序决定这些基本导航样式之一,这将是该应用程序构建的基本导航样式。您不能通过编程方式对其进行更改。(解决方法之一是,您可以在基本导航样式之上显示一个模式视图,并且该模式视图可以使用不同的导航样式。)

然而,你的描述表明,你实际上并不是在做你认为自己是什么。reloadRootControllersWithNames(_:contexts:)是一种仅在基于页面的界面中可用的方法。因此,您的应用程序正在做的是启动一个基于页面的界面,然后根据用户选择显示一组特定的页面。

最有可能出现这种混乱的原因是,当您第一次加载基于页面的界面时,您加载了单个界面控制器。由于您的初始集合中只有一个页面,它的格式可能会包含多个按钮,因此看起来像一个分层控制器,因此您可以得出结论,您正在使用分层界面类型,而不是这样。

鉴于上述情况,要从页面返回到原始界面控制器,只需再次调用reloadRootControllersWithNames(_:contexts:)并将启动时所用的原始界面控制器的名称传递给它即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32050141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档