ios - 转到另一个选项卡中的详细 View Controller ?

标签 ios uiviewcontroller tabs uinavigationcontroller

我有一个包含多个标签页的应用程序。在一个选项卡上,我的用户可以选择一个按钮,将他们带到另一个选项卡,但那里将是一个详细 View Controller 。

所以我在选项卡 1 上有一个按钮,用户可以通过该按钮转到第二个选项卡。

在选项卡 2 上,我有一个 UINavigationController,其中一个 UIViewController 设置为 rootViewController,我需要在其中登陆详细信息 UIViewController

我不知道如何以正确的方式做到这一点。

我可以在第二个选项卡的 rootViewController 中创建一个静态(或 class)变量,它会告诉我是否需要推送 detailViewController。

但我有多个详细 View Controller ,这意味着如果我切换到正确的选项卡,我可以转到详细 View Controller ,这意味着在我返回到该 Root View Controller 之前,该 Root View Controller 中的静态变量无关紧要.

关于如何改进设置的任何想法? (我为每个选项卡使用单独的 Storyboard,以减少合并冲突)

最佳答案

在您从 tab1 中单击按钮时调用此方法。这会将您的 DetailViewController 添加到第二个选项卡的导航堆栈中。

#pragma mark- Injecting middle view controller

-(void)showDetailViewControllerInjectingMiddleViewController {

  // get navigation controller for your 2nd tab

  UINavigationController *navigationController = [[((UITabBarController *)self.window.rootViewController) viewControllers] objectAtIndex:1]; // 1 is for second tab
  NSMutableArray *controllers = [navigationController.viewControllers mutableCopy];

 [controllers addObject: [self prepareMiddleViewController]];
 [controllers addObject:[self prepareDestinationViewController]];

 [navigationController setViewControllers:controllers animated:NO];

 [self.tabBarController setSelectedIndex:1];

 }


-(UIViewController *)prepareMiddleViewController {

 UIViewController *rootViewController = [self.storyboard instantiateViewControllerWithIdentifier:rootViewIdentifier];
 return rootViewController;

}

-(UIViewController *)prepareDestinationViewController {

 UIViewController *detailViewController = [self.storyboard instantiateViewControllerWithIdentifier:detailViewIdentifier];
 return detailViewController;

}

关于ios - 转到另一个选项卡中的详细 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34881657/

相关文章:

CSS 选项卡不能在 Bootstrap 上使用 anchor ?

javascript - 以编程方式在选项卡上打开新页面

html - CSS 鼠标悬停在重叠的选项卡上?

ios - 如何在 ARKit 中设置文本方向?

ios - 当键盘出现时滑动桌面 View

ios - UIViewController 的 View 未通过 viewWillAppear() 调整大小

swift iOS : Perform a Segue from an Instance in a ViewController to another ViewController

iphone - 像我们自己的方法一样调用委托(delegate)方法有没有错

iphone - 如何从基于 map 的 iPhone 应用程序播放音频文件?

swift - 倒计时计时器后 UIPickerView 不会在其他 ViewController 上更新