![](/img/trans.png)
[英]Switching between sibling views via UINavigationViewController
[英]Switching UINavigationViewController to UITabBarController with Segues
我正在更改我的应用程序以使用UITabBarController
而不是UINavigationViewController
。 我相应地替换了控制器,并成功使用选项卡启动了应用程序。 稍后在代码中,我遇到了使用segues的一些困难,其中类似
[self performSegueWithIdentifier:@"ImageViewController" sender:self];
不会产生错误
“ 仅当由UINavigationController的实例管理源控制器时,才能使用推送选择 ”
当我将UINavigationController
嵌入到初始的FirstViewController
,上面的行工作正常。 我需要那条线在视图之间切换,并将一些数据传递给另一个视图控制器。
问题是,使用segue标识符转到SecondViewController
隐藏TabBar导航(除非我再次将SecondViewController
包装在UINavigationController
,依此类推)。 那不是解决方案。
问题 :如何在保持选项卡导航可见的情况下如何使用UITabBarController
并继续使用segue?
“仅当源控制器由UINavigationController的实例管理时,才可以使用推送选择”
在我看来,您在导航控制器外部的某个地方使用了push
播功能。 尝试在界面生成器中选择不在导航控制器内部的所有“搜索气泡”:
并在右侧窗格中检查segue的样式:
如果将样式设置为如上所述的值push
,则将其更改为modal
或custom
:
您的连接有问题。 如果您正在使用界面构建器(storyboard),则您的连接应如下所示。 见图片
请注意,您缺少UINavigation标题标头。 同样,每个视图控制器下方的灰色区域也意味着为UITabBarController的图像保留了空间
另一个问题是您的UIToolBar。 看起来像它位于显示UITabBar的顶部。 因为您已经具有UINavigationController和UITabBarController,所以可能会/可能不会使您的应用程序被苹果拒绝。 如果您需要该页面上的更多按钮/选项,请改用UIButtons。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.