我一直在倾倒这个网站数小时试图找到这个问题的答案,但一直无法解决它。问题如下:
我有一个UITableViewController,它使用push segue将UITabBarController
推送到堆栈上。 UITabBarController
与4 UITableViewControllers
有关系。
当我将segue更改为模态时,与UITabBarController
关联的第一个UITableViewControllers按预期显示,当然除了没有导航栏。当我选择push segue时,问题就会反过来:导航栏会显示UITabBarController
的正确名称和我创建的自定义按钮...但是标签栏和第一个标签的内容都没有显示 - 只是黑色。
在使用推送segue时,是否需要做一些特殊操作才能显示UITabBarController的内容?
我已尝试在UITableViews
中嵌入UITabBarController
与UINavigationController
相关的{{1}}之一,但这没有任何区别。
我当前应用的基本结构是:
UIView->(模态 segue) - > UINavigationController->(关系) - > UITableViewController->(推送segue) - > UITabBarController->(关系)[4 UITableViewControllers)
谢谢!
答案 0 :(得分:0)
实际上,Apple鼓励用户不在Navigationcontroller中使用UITabbarcontroller。一个人根本就不这样做。这就是你得到这种有线行为的原因。尝试重新设计你的应用程序,以便不再需要它或以其他方式使用模态Segue并在Tabbarcontroller中创建一个新的Navigationcontroller。
还有第三个选项可以创建一个自定义Tabbarcontroller,但我个人不会那样做,因为它不打算由Apple完成,而且还有很多工作。
可能还有一些其他解决方案,但我没有找到任何简单的试用,所以我在我的应用程序中使用了模态Segue ......