回到过去,Apple称Tab键控制器不允许包含在导航控制器中,可能是由于Tab Bar Controller也可以包含导航控制器。在Tab Bar Controller和Navigation Bar Controller都存在的应用程序中,Tab Bar Controller始终需要位于根目录。
如今使用Storyboard,可以通过Show segue将标签栏视图控制器推入导航控制器。这是否意味着此规则不再适用于现代iOS SDK?
答案 0 :(得分:0)
我以为我在文档中的某处读过标签栏控制器应该始终是应用程序的根视图控制器。 (不幸的是,我找不到这篇文章。)此外,Xcode不允许选择标签栏控制器,然后选择编辑器>嵌入>导航控制器。苹果很可能会阻止开发者这样做。
所以是的,我相信规则仍然适用:在现代SDK中,导航控制器中包含的标签栏控制器可能但不鼓励。
真正的问题是你为什么要这样做?如果要为应用程序创建登录屏幕,然后在用户登录后按下标签栏控制器,例如,它是合理的嵌入标签栏控制器。 (虽然我个人更喜欢用模态segue做这个)
看看iOS Human Interface Guidelines regarding tabs。如果标签栏以“在应用级别组织信息”的方式实现,则不应使用标签栏,因为iOS用户希望标签栏允许他们导航应用程序的主要功能。