繁体   English   中英

您可以从多个导航控制器中选择一个情节提要视图控制器吗?

[英]Can you segue to a storyboard view controller from multiple navigation controllers?

背景:应用程序的用户界面是一个标签栏控制器,每个标签栏都有自己的导航控制器。 几种视图控制器是通用的,用户可以访问它们,而不必考虑他们使用的是哪个选项卡。 最初,我只是简单地从情节提要的所有位置转到情节提要上的一个视图控制器以获取这些常用视图。 但是我意识到用户可以进入通用视图,选择一个不同的选项卡,然后在另一个导航控制器上回到该通用视图...我不知道那是什么。 这是视图控制器的这两种不同的实例化吗? 如果不是,当弹出时哪个导航控制器会“返回”?

Xcode崩溃越来越频繁,直到在打开情节提要时立即开始崩溃。 同时,我有数十种我一直推迟解决的“模糊视图”类型警告。 因此,我调整了约束,直到消除了所有警告,再消除了导航控制器之间的任何干扰,我才有了通用视图的多个副本。 从那时起,Xcode一直稳定如磐石。 但是现在我在情节提要中的整个视图控制器组各有三个副本,事实证明,更改/维护它们很麻烦。

故事板功能非常强大,但它也很方便,可以说是为简单的界面和更多新手程序员设计的。 因此,当创建更复杂(或更恰当地,不太标准)的接口时,您希望将更多的代码移入。 这可能是情节提要中的命名视图控制器(由代码实例化)或独立的XIB文件的组合。

您所要做的只是复制您希望在情节提要中具有多个序列的视图控制器。 在viewcontroller的viewDidLoad中,您可以找到使用哪个选项卡进行调用,并可能对其功能进行调整:

UITabBarController *tabBarController = (UITabBarController *)[[UIApplication sharedApplication] delegate].window.rootViewController;
ALog( @"Selected tab: %d", tabBarController.selectedIndex );

这只是询问应用程序的UITabBarController,它是选定的选项卡。

因此,这对于一个视图控制器来说并不是更多的选择,但是对于实际应用来说可能已经足够接近了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM