看起来这个应该很容易弄清楚,但是今天下午我没有任何运气。我将我的问题的快速、简化的故事板模型拼凑在一起。
基本上,我希望下面的表视图控制器也位于选项卡栏控制器中(除了已经存在的导航控制器之外)。选项卡将在两个表视图控制器之间切换。
现在,带有按钮的视图控制器充当一种菜单。每个按钮都会指向一个表视图控制器。理想情况下,这个视图控制器会not使选项卡栏可见,并且只能通过表视图控制器的导航栏上的后退按钮访问。
我尝试了几种不同的嵌入选项卡控制器的方法,但没有一种方法能产生所需的结果:
-我尝试选择两个表视图控制器并将它们嵌入到选项卡视图控制器中。选项卡栏不会显示在模拟器中,并且出现“无法访问场景”警告。
-我尝试将初始导航控制器嵌入到选项卡控制器中。这将为第一个“菜单”页面创建一个选项卡条目。一旦我将表视图连接到选项卡视图,它也会导致推送问题。
我可以在故事板之上实现一些编程选项,我只是为这个项目选择了故事板,因为它是一个相对简单的数据表示。
解决这个问题的正确方法是什么?谢谢!
选项卡栏控制器需要是视图层次结构的根视图控制器。将选项卡栏控制器放在任何其他类型的容器控制器中都违反了 HIG 和 Apple 的标准。
来自苹果文档:
部署选项卡栏界面时,必须将此视图安装为
你的窗口的根目录。与其他视图控制器不同,标签栏
界面永远不应该安装为另一个视图的子视图
控制器。
所以,最重要的是你需要重新考虑你的设计。一种选择是设置UITabBarController
作为窗口的根视图,然后让每个UITableViewController
s 位于 a 的内部UINavigationController
,它被放置在UITabBarController
。通过这种方式,你仍然可以获得导航栏,并遵守苹果的设计指南(你也不会收到那些讨厌的警告,如果你尝试安装苹果现在甚至可能会抛出异常UITabBarController
作为窗口根视图以外的任何内容)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)