将UINavigationViewController切换为带有分段的UITabBarController
我在更改我的应用程序以使用UITabBarController
而不是UINavigationViewController
。我相应地替换了控制器,并且应用程序成功启动。后来在代码中,我遇到了一些困难,使用塞格斯其中行喜欢将UINavigationViewController切换为带有分段的UITabBarController
[self performSegueWithIdentifier:@"ImageViewController" sender:self];
将无法正常工作产生错误
“当源控制器由UINavigationController的一个实例管理只能用于推塞格斯“
当我嵌入UINavigationController
到初始FirstViewController
,上面的行工作正常。我需要该行来切换视图并将一些数据传递给另一个视图控制器。
问题在于,使用SEGUE标识符去SecondViewController
隐藏的TabBar导航(除非再次我在包裹UINavigationController
SecondViewController
等)。这不是解决方案。
问题:如何使用UITabBarController
并仍然利用segues,同时保持选项卡导航可见?
“推当源控制器由UINavigationController的一个实例管理塞格斯只能用”
像你使用的是push
赛格瑞某处导航外界的声音对我控制器。尽量选择在Interface Builder中所有的 “赛格瑞泡沫” 是不导航控制器内:
,并检查SEGUE的风格在右窗格中:
如果将样式设置为值push
,如上所示将其更改为modal
或custom
:
也有一些是不对您的连接。如果您使用的是界面构建器(storyboard),那么您的连接应该看起来像这样。见图片
请注意您的地址不详。此外,每个视图控制器上的灰色区域意味着空间为UITabBarController的图像保留
另一个问题是您的UIToolBar。看起来就像坐在UITabBar的顶部。由于您已经拥有UINavigationController和UITabBarController,因此可能/不会让您的应用被苹果拒绝。如果你需要更多的按钮/选项,使它们成为UIButtons。
你说得对。这实际上解决了我在UITabBarController上使用segues的问题。 – Vad